ESLint规则,每个文件仅允许默认或命名导出

时间:2019-05-15 05:40:14

标签: javascript eslint

我希望遵循以下ESLint规则:

一个js文件可以具有一个默认导出,也可以具有尽可能多的命名导出。但不是两者。因此,使用一个默认导出+命名导出应该会导致eslint警告。 eslint目前可能吗?如果不是这样,制定这样的规则会容易吗?

1 个答案:

答案 0 :(得分:2)

看一下prefer-default-export的代码,看起来就像分叉该规则并进行更改一样简单

'Program:exit': function() {
  if (specifierExportCount === 1 && !hasDefaultExport && !hasStarExport) {
    context.report(namedExportNode, 'Prefer default export.')
  }
},

'Program:exit': function() {
  if ((specifierExportCount >= 1 || hasStarExport) && hasDefaultExport) {
    context.report(namedExportNode, 'Do not use both named exports and a default export')
  }
},
该规则模块中的

specifierExportCount会计算命名导出的数量。