在 GitHub 上找到一个 Vue2 后台管理模板后,我将业务代码(约 100 多个文件)整合到该模板中。运行项目时,ESLint 报出了大量错误(2481 个错误和 345 个警告)。虽然项目可以正常运行,但这些错误提示严重影响开发体验。
package.json
"scripts": {
"lint": "eslint --ext .js,.vue src",
},
# --fix 是 ESLint 的一个参数,表示自动修复那些可以修复的代码问题。
npm run lint -- --fix
执行 npm run lint -- --fix 时,ESLint 会:
error Expected '===' and instead saw '==' eqeqeq
error Elements in iteration expect to have 'v-bind:key' directives vue/require-v-for-key
自动修复后,仍需要手动处理以下类型的问题:
error Expected '===' and instead saw '==' eqeqeq
# 比如这个报错解决方法,就是对应的代码吧 '==' 换成 '==='
找到.eslintrc.js 文件。(我的项目是 eslintrc.js,你们项目可能对应 json)
{
// "error":当代码违反此规则时,ESLint 会报错
// "always":要求始终使用严格相等运算符(=== 和 !==),而不是宽松相等运算符(== 和 !=)
eqeqeq: ["error", "always", { null: "ignore" }],
// eslint报错 主要有三种级别:"off", "warn", 和 "error"
// 如果想关闭就:
// eqeqeq: ["off", "always", { null: "ignore" }],
}
如果对 eslint 配置不熟悉,可以去通过搜索了解。这里主要提供思路。
为什么不是所有报错和警告都解决??
ESLint 自动修复(--fix
)是有限制的,只有一些特定的类型问题才能被自动修复,下面是常见的自动修复和手动修复问题。
1.逻辑错误和潜在问题:
2.语法错误:
3 强制执行的业务规则
问题类型 | 自动修复 | 手动修复 | 示例规则 |
---|---|---|---|
分号/逗号 | ✅ | ❌ |
|
引号/空格 | ✅ | ❌ |
|
简单格式问题 | ✅ | ❌ |
|
Vue 组件属性顺序 | ❌ | ✅ |
|
未使用变量 | ❌ | ✅ |
|
代码逻辑错误 | ❌ | ✅ |
|
规则配置冲突 | ❌ | ✅ | Prettier vs ESLint |
复杂重构 | ❌ | ✅ |
|
npm run lint -- --fix
解决可自动修复的问题 {
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}
"husky": {
"hooks": {
"pre-commit": "npm run lint"
}
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。