babel-eslint 不允许动态导入
babel-eslint does not allow dynamic import
我使用的是 webpack 2,我想进行动态导入。 Linter 在动态导入时给出以下错误(即 import(...)
):
[js] Declaration or statement expected. (JSX attribute) import: true.
我有以下 .eslintrc
(摘录):
{
"parser": "babel-eslint",
"parserOptions": {
"allowImportExportEverywhere": true
}
}
已安装以下内容:
"eslint": "^3.16.1",
"babel-eslint": "^7.2.3",
"babel-plugin-dynamic-import-webpack": "^1.0.1",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
babelrc 配置:
{
"presets": [
"es2015",
"react"
],
"plugins": ["syntax-dynamic-import", "dynamic-import-webpack"]
}
更新: 发生错误的示例(React 应用程序)。 (这里的错误只是[js] Declaration or statement expected
):
const App = () => {
import('./routes/Main/Main').then((Main) => {});
return(<div />);
};
我找到了发生这种情况的原因。
似乎 VSCode 启用了内部 javascript linter,即使 eslint 插件正在检查。禁用这个内部 linter 解决了
问题。所以要解决,在项目(.vscode/settings.json
),用户或全局
VSCode 设置设置如下:
{
...other settings...,
"javascript.validate.enable": false
}
将以下内容添加到 .eslintrc.js 文件为我解决了这个问题:
settings: {
'import/resolver': {
node: {
paths: [path.resolve(__dirname, 'src')],
},
},
},
我使用的是 webpack 2,我想进行动态导入。 Linter 在动态导入时给出以下错误(即 import(...)
):
[js] Declaration or statement expected. (JSX attribute) import: true.
我有以下 .eslintrc
(摘录):
{
"parser": "babel-eslint",
"parserOptions": {
"allowImportExportEverywhere": true
}
}
已安装以下内容:
"eslint": "^3.16.1",
"babel-eslint": "^7.2.3",
"babel-plugin-dynamic-import-webpack": "^1.0.1",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
babelrc 配置:
{
"presets": [
"es2015",
"react"
],
"plugins": ["syntax-dynamic-import", "dynamic-import-webpack"]
}
更新: 发生错误的示例(React 应用程序)。 (这里的错误只是[js] Declaration or statement expected
):
const App = () => {
import('./routes/Main/Main').then((Main) => {});
return(<div />);
};
我找到了发生这种情况的原因。
似乎 VSCode 启用了内部 javascript linter,即使 eslint 插件正在检查。禁用这个内部 linter 解决了
问题。所以要解决,在项目(.vscode/settings.json
),用户或全局
VSCode 设置设置如下:
{
...other settings...,
"javascript.validate.enable": false
}
将以下内容添加到 .eslintrc.js 文件为我解决了这个问题:
settings: {
'import/resolver': {
node: {
paths: [path.resolve(__dirname, 'src')],
},
},
},