六、理解ESLint中的env

关于eslint的配置文件中的env,先来看一下官方文档

env中的browser和node

新建测试项目,

1
2
3
$ mkdir lesson03
$ cd lesson03
$ yarn init -y&&yarn add -D eslint

同样的进行初始化,npx eslint --init并只选定browser环境。

在eslintrc.json文件中可以看到:

1
2
3
4
"env": {
"browser": true,
"es6": true
},

接下来我新建一个文件/src/index.js,内容如下:

1
window.version = '0.0.1';

就是这么简单一行代码,然后用eslint来检测一下,执行npx eslint ./src可以看到,并没有报错。

然后我把代码改为:

1
global.version = '0.0.1';

在执行npx eslint ./src可以看到,报错了,提示 error ‘global’ is not defined no-undef,因为在浏览器中,是没有global这个全局变量的只有window,global变量是node环境里的。

那么我手动改写一下eslintrc.json,添加上"node": true,

1
2
3
4
5
"env": {
"browser": true,
"node": true,
"es6": true
},

这时候再进行eslint的检测就不会出现报错了,因为eslint配置中已经支持了浏览器环境和node环境。

类似的我们可以在env中配置jquerymongo 等环境。