一、背景
公司项目需要增加eslint校验,由于项目多而杂,并且一些老页面已经很久没有更新过了,项目组成员达成一致意见:从今往后,新增的页面增加eslint检查,老页面先忽略使用。
二、实现
1、eslintignore是用来干什么的?
当 ESLint 运行时,在确定哪些文件要检测之前,它会在当前工作目录中查找一个 .eslintignore
文件。如果发现了这个文件,当遍历目录时,将会应用这些偏好设置。
eslint通过.eslintignore
文件或者在 package.json 文件中查找 eslintIgnore
键,来检查要忽略的文件
2、如何定义.eslintignore
(1)在项目根目录创建一个 .eslintignore
文件告诉 ESLint 去忽略特定的文件和目录。.eslintignore
文件是一个纯文本文件,其中的每一行都是一个 glob 模式表明哪些路径应该忽略检测。
名次解释:glob模式是指shell所使用的简化了的正则表达式。
(2)配置如下:
/node_modules
/dist
/src/assets/js
/src/views
/package-lock.json
.DS_Store
vue.config.js
(3)遵循的规则,参考gitignore的配置规则
/hello/* // 开头有“/”,匹配相对于`.gitignore`文件本身的目录级别的。
hello/ // 结尾“/”, 匹配任意级别的hello目录下的所有目录(不包含文件)
hello.* // 匹配以hello.开头的文件或者文件夹
hello/* // 匹配hello目录下的所有目录和文件
!/foo/bar // 排除目录 foo/bar 之外的所有内容
**/foo // 前导 " `**`",在所有目录中匹配, 与foo相同
foo/** // 尾随的“ `/**`”匹配里面的所有内容。匹配目录“ `foo`”下的所有文件
需要注意的是:
一个可选的前缀“ !
”,它否定了模式;任何被先前模式排除的匹配文件将再次包含在内。如果排除了该文件的父目录,则无法重新包含该文件。
例如:想忽略src下面的所有目录和文件,但除去src/views/hello目录。
src/* // 排除src目录下面所有的
!src/views/ // src/views下面所有的目录重新被包含回来
src/views/* // 排除 src/views下面所有的目录
!src/views/hello/ // src/views/hello下面所有的目录重新被包含回来