介绍
需要使用到以下四个库:
eslint:用来检查js代码质量
prettier:用来格式化美化代码风格
eslint-plugin-prettier:按 eslint 规则运行 prettier
eslint-config-prettier:关闭 eslint 与 prettier 冲突的规则
安装
分别安装 eslint、prettier、eslint-plugin-prettier、eslint-config-prettier
1
| npm i -D eslint prettier eslint-plugin-prettier eslint-config-prettier
|
配置文件
eslint配置文件:.eslintrc.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| module.exports = { parserOptions: { ecmaVersion: 2015, sourceType: 'module' }, extends: ['prettier'], plugins: ['prettier'], rules: { 'prettier/prettier': [ 'error', { endOfLine: 'auto', }, ], }, }
|
prettier配置文件:.prettierrc.json
1 2 3 4 5 6 7 8 9 10
| { "semi": false, "tabWidth": 2, "useTabs": false, "singleQuote": true, "jsxSingleQuote": false, "printWidth": 100, "endOfLine": "lf" }
|
脚本定义
定义格式化代码脚本,方便格式化全部代码,打开 package.json,定义 format 脚本
–write . 格式化全部代码
–write src/ 格式化 src 目录下代码
……
1 2 3 4 5 6 7 8 9 10 11
| { "scripts": { "format": "prettier --write ." }, "devDependencies": { "eslint": "^8.51.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-prettier": "^5.0.0", "prettier": "^3.0.3" } }
|
vscode保存自动格式化配置
根目录创建 .vscode 文件夹,创建 settings.json 配置文件
1 2 3 4 5 6 7
| { "editor.codeActionsOnSave": { "source.fixAll.eslint": true } }
|
在ts项目下
安装插件
1
| npm install --save-dev @typescript-eslint/parser @typescript-eslint/eslint-plugin
|
配置.eslintrc.js
TypeScript 的最佳实践和推荐规则:plugin:@typescript-eslint/recommended
1 2 3 4 5 6 7 8 9
| module.exports = { parserOptions: { ecmaVersion: 2015, sourceType: 'module' }, parser: '@typescript-eslint/parser', extends: ['plugin:@typescript-eslint/recommended'], plugins: ['@typescript-eslint'], }
|
末尾分号问题
eslint + prettier 末尾分号开启 eslint 报错问题; 在 .eslintrc.js 中添加
1 2 3 4 5 6 7 8 9 10
| { overrides: [ { files: ['*.js', '*.jsx', '*.ts', '*.tsx'], rules: { 'prettier/prettier': ['error', { semi: true }], }, }, ], }
|