eslint运行在脚本和IDE语法检测2种情况。
- 确保
eslint插件 和 项目eslint 版本一致
.vue,.ts 文件不生效,确保 *.{js,ts,vue} 中间没有空格
"lint-staged": {
"*.{js,ts,vue}": [
"eslint --fix",
"git add"
],
}
windows 系统 GIT 拉取代码默认转换 CRLF (Windows 操作系统默认的文本换行符为 CRLF;Linux 以及 macOS 系统默认使用 LF,早期的 mac os 系统使用 CR 换行),eslint提示错误
# 1. 禁止windows下git的默认转换
$ git config --global core.autocrlf false
# 2. vscode里面设置默认行尾字符 \n
- 在
package.json 里面 scripts 上添加 lint 命令,路径使用 glob 模式,必须添加引号
{
"scripts": {
"lint": "eslint 'src/**/*.{js,vue}'"
}
}
- 如果想忽略指定目录,请添加.eslintignore文件配置
vscode 修改 eslint 配置后,如果不生效重启一下
- 确保
vscode 版本最新,vscode 语法错误提示 eslint 的运行环境是内置的 node ,版本太低可能会报错
vscode 里面 eslint 不工作,运行提示找不到依赖,看下 vscode 工作区是否根目录,如果是多个项目,eslint运行是相对于 cwd ,在单个项目中添加 .vscode/settings.json
{
"eslint.workingDirectories": [
"./frontend"
]
}
- eslint默认是全量检测,但是可以配置
--cache 缓存已经处理的文件信息,以便只处理修改过的文件,也可以通过 lint-staged
{
"lint-staged": {
"src/**/*.{vue,js,jsx,ts,tsx}": [
"eslint --max-warnings=0 --fix",
"git add"
]
},
}
- 如果原先已经安装过
eslint插件,现在切换配置,需要校验一下新规则是否生效,通过手动执行一下eslint命令,查看新规则是否生效