Boy*_*ang 5 ecmascript-6 eslint es6-module-loader es6-modules
我的项目对大多数文件使用Webpack和es6模块。这些文件在浏览器中运行,并由Webpack捆绑。
在节点中运行的文件很少。他们没有被Webpack所感动,我看不到任何将它们包含在webpack中的好处。他们不支持,import
因为尚未在节点(或V8)中实现。
现在进入.eslintrc
,如果设置parserOptions.sourceType
为script
,它将在浏览器文件中出现错误(“ import
并且export
仅在模块中允许!”)。如果parserOptions.sourceType
设置为module
,它将在节点文件中出错。
那么如何做每个文件parserOptions
?/* eslint-env xxx */
在这种情况下不起作用
我可能可以使用特定于目录的.eslintrc
,但这意味着为了更改一个选项而复制所有其他配置。还有更好的选择吗?
您应该能够利用ESLint配置(.eslintrc
)文件的分层性质:
ESLint会在要插入文件的目录中以及在连续的父目录中一直到文件系统的根目录中自动寻找它们。当您希望为项目的不同部分进行不同的配置时,或者希望其他人能够直接使用ESLint而无需记住传递配置文件时,此选项很有用。
请注意,.eslintrc
子目录中的文件继承了.eslintrc
父目录中文件的配置,因此很容易覆盖特定设置。
另一个选择是这样使用overrides
:
{
"extends": "eslint:recommended",
"overrides": [{
"files": ["path/to/some/file.js", "path/to/some/folder/**.js"],
"parserOptions": {
"sourceType": "module"
}
}]
}
Run Code Online (Sandbox Code Playgroud)
参见https://eslint.org/docs/user-guide/configuring#example-configuration
这种解决方案的好处:
归档时间: |
|
查看次数: |
1317 次 |
最近记录: |