2017-06-05 5 views
0

私はかなりの間、WebとStackOverflowを検索してきましたが、成功しませんでした。私はESLintを持って何をしようとしているデフォルトのエクスポートを許可しないようにESLintを設定する方法

はエラーとして次のようにマークを付ける:

export default ...; 

defaultは、ここで重要なことで。これまでのところ、私が得たベストは、eslint-plugin-importプラグインへの参照と、目標にもっと近づけることのできるルールのいくつか、すなわちno-anonymous-default-exportルールです。しかし、たとえこのルールを次のデフォルトの輸出が有効になります:

const foo = 123 
export default foo 

export default class MyClass() {} 

export default function foo() {} 

私はこれら4つもエラーと見なされるようにESLintを設定するにはどうすればよいですか?

+0

そのようなルールはありません。実際に私たちは[逆の](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/prefer-default-export.md)を持っています。エクスポートされたシンボルが1つしかない場合は、デフォルトです。 – Sylwester

+0

@Sylwesterそれは私が持っている印象とまったく同じですが、これは私たちのコードベースには理想的ではありません – Dethariel

+0

@Detharielあなたのコードベースでのデフォルトのエクスポートで直面している特定の問題を明確にすることはできますか?私は彼らが全く問題にならなければならない理由を考えることができず、私はあなたがXYの問題を避けるのを手伝っていたいと思います。 –

答えて

2

no-restricted-syntax ruleでこれを行うことができます。 (あなたが最初のオプションで、「モジュール」に「ソースタイプ」を変更する必要があります)、それを試してみdemoでこれを貼り付けてみてください。

/* eslint "no-restricted-syntax": ["error", { 
    "selector": "ExportDefaultDeclaration", 
    "message": "Prefer named exports" 
    }] */ 
export default class Foo { } // 5:1 - Prefer named exports (no-restricted-syntax) 
関連する問題