忽略 eslint 错误:'import' 和 'export' 可能只出现在顶层
Posted
技术标签:
【中文标题】忽略 eslint 错误:\'import\' 和 \'export\' 可能只出现在顶层【英文标题】:ignore eslint error: 'import' and 'export' may only appear at the top level忽略 eslint 错误:'import' 和 'export' 可能只出现在顶层 【发布时间】:2017-01-02 16:03:43 【问题描述】:eslint 中是否可以解除这个错误?
Parsing error: 'import' and 'export' may only appear at the top level
【问题讨论】:
这看起来像是无法解决的问题。见github.com/eslint/eslint/issues/2259 和github.com/eslint/espree/issues/124;特别是 124 末尾的 dev 引述,他说他基本上认为没有理由支持无效语法。 另见:Why must import / export declarations be top level in es2015? 【参考方案1】:ESLint 本身不支持这一点,因为这违反了规范。但是如果你使用 babel-eslint
解析器,那么在你的 eslint 配置文件中你可以这样做:
"parser": "babel-eslint",
"parserOptions":
"sourceType": "module",
"allowImportExportEverywhere": true
文档参考:https://github.com/babel/babel-eslint#configuration
【讨论】:
似乎不需要 babel-eslint 非***导入现在是规范的一部分并被广泛使用 现在支持esline check my answer【参考方案2】:eslint 6.2 中添加了对动态导入的支持。
您需要将 ecmaVersion 设置为 11(或 2020)。
"parserOptions":
"ecmaVersion": 11
...
您可以在他们的online demo 中进行测试。
【讨论】:
会这样工作吗? "eslintConfig": "extends": "react-app", "parserOptions": "ecmaVersion": 11 , 仅此一项对我不起作用,我也必须添加以下行 - "sourceType": "module" 它在sourceType: script
的在线演示中确实有效【参考方案3】:
我的解决方案以防其他人不起作用
"parserOptions":
"ecmaVersion": 6,
"sourceType": "module"
【讨论】:
以上是关于忽略 eslint 错误:'import' 和 'export' 可能只出现在顶层的主要内容,如果未能解决你的问题,请参考以下文章
Eslint 错误,规则“import/no-cycle”的配置无效
忽略或防止 ESLint 错误破坏 React 项目中的构建 (create-react-project)