如何修复/禁用看似错误的“模块中未找到命名导出”错误?

zan*_*ock 10 eslint es6-modules

我正在检查我的代码,并且在几个地方得到了这个:

/Users/zane/playground/react-waiter/js/components/index.js
  1:15  error  No named exports found in module './utils'    import/export
  2:15  error  No named exports found in module './widgets'  import/export

/Users/zane/playground/react-waiter/js/index.js
  1:15  error  No named exports found in module './components'  import/export
Run Code Online (Sandbox Code Playgroud)

我相信该报告是误报,因为当我运行代码时,一切正常,并且我确实可以导入导出的项目。

代码:

// js/index.js
export * from './components'
export * from './settings'
export * from './utils'
Run Code Online (Sandbox Code Playgroud)
// js/components/index.js
export * from './utils'
export * from './widgets'
Run Code Online (Sandbox Code Playgroud)
// js/components/utils/index.js
export * from './Waiter'
Run Code Online (Sandbox Code Playgroud)
// js/components/utils/Waiter.jsx
...
const Waiter = (props) => { ... }

export { Waiter }
Run Code Online (Sandbox Code Playgroud)

然后模块的模式相同widgets,从文件导出并从索引重新导出单个常量。我确实尝试过export const Waiter = ...,并且export * from './utils/index'得到了相同的结果。

我经常使用这种模式,当重新导出索引文件而不是其他文件时,就会出现问题。

作为解决方法,我设置 eslint 配置将这些更改为警告,这样它们就不会停止 CI 过程,但仍然会报告真正的问题。

我假设在某个时候(明显的)错误将会被修复。这将是一个小问题,但 /* eslint-disable import/export */似乎没有任何影响。

任何见解将不胜感激。有没有办法在每行基础上禁用规则和/或“抖动”事物,以便 eslint 正确报告事物?

Žil*_*nis 3

要禁用此规则,您.eslintrc.js应该:

module.exports = {
    'rules': {
        'import/export': 0
    }
}
Run Code Online (Sandbox Code Playgroud)