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

posted @ 2022-08-13 20:22  我是格鲁特  阅读(169)  评论(0编辑  收藏  举报