eslint相关问题
1. env中的es版本和parserOptions.ecmaVersion的区别?
"env": { "es2021": true }, "parserOptions": { "ecmaVersion": es2021 }
parserOptions.ecmaVersion指示eslint解析器可解析的语法。 env中的es版本表示可使用哪些es版本的全局变量。在env中指定了es版本后,会自动启动该版本的语法解析(也就是不需要在parserOptions.ecmaVersion中添加相应的es版本)
2. 设置了parserOptions.ecmaVersion的版本,但是lint时却提示都没有?
我在eslint中将parserOptions.ecmaVersion设置为2018,希望以此限制项目禁止使用es2018以后的语法和api,结果当然是没卵用。中文官网也是误导人,好不容易从git issure中找到了答案。
ecmaVersion 仅用于语法解析,至于解析后要干什么,取决于解析器,目前大多数eslint的解析器啥都不做。
3. 使用eslint-plugin-es根据ecmaVersion限制es版本(已经不更新了,需使用eslint-plugin-es-x)
4. 使用eslint-plugin-ecmascript-compat根据browserslist中指定的浏览器版本来限制可使用的语法和api