使用ESLint+Prettier来工程化你的Vue代码
ESLint
ESLint是静态代码检查工具。
一般地,我们在使用Vue脚手架创建Vue前端工程时都会启动ESLint静态代码检查。
使用yarn lint
or npm run lint
会默认自动修复ESLint错误。
那怎样做到在保存时就自动修复呢?
安装 VS Code 插件 ESLint
在当前工程的根目录下的.vscode/settings.json添加ESLint插件的配置
1
2
3
4
5
6
7
8{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"eslint.workingDirectories": [
{ "mode": "auto" }
]
}
Prettier
Prettier是代码格式化工具。
最佳实践:ESLint+Prettier
将.vscode从你的.gitignore中去除,以保存每个成员都使用同样的配置
在.vscode/extensions.json中增加推荐安装的插件列表
1
2
3
4
5{
"recommendations": [
"dbaeumer.vscode-eslint"
]
}这样,新加入团队的成员可以得到推荐插件的提示,以方便的添加需要的插件。
使用ESLint + Prettier的组合
若使用脚手架创建项目时没有选择Prettier,可以单独添加。
1
$ yarn add --dev prettier @vue/eslint-config-prettier eslint-plugin-prettier
修改.eslintrc.js
1
extends: ["plugin:vue/essential", "eslint:recommended", "@vue/prettier"]
一个定制ESLint和Prettier的规则示例
.eslintrc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16module.exports = {
root: true,
env: {
node: true
},
extends: ["plugin:vue/essential", "eslint:recommended", "@vue/prettier"],
parserOptions: {
parser: "babel-eslint"
},
rules: {
"no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
"no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
"max-len": ["error", { "code": 140 }],
"prettier/prettier": [ "error", { printWidth: 140} ]
}
};