首先安装以下模块
babel-eslint,eslint,eslint-config-prettier,eslint-plugin-prettier,eslint-plugin-vue,prettier
其中prettier相关的模块是可以让eslint使用prettier(格式化代码的工具)的配置规则,安装后package.json会多出如下模块记录"babel-eslint": "^10.1.0",
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^4.0.0",
"eslint-plugin-vue": "^7.17.0",
"prettier": "^2.4.0",
项目更目录创建.eslintrc.js文件
内容大致如下:module.exports = {
root: true,
env: {
node: true,
browser: true,
es6: true,
},
ignorePatterns: ['node_modules', 'dist', 'test'],
extends: ['plugin:vue/essential', 'eslint:recommended', '@vue/prettier'],
globals: {
eventBus: 'readonly',
},
parserOptions: {
parser: 'babel-eslint',
},
plugins: ['vue'],
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
},
}
配置属性解释
root意思是当前目录既是此配置有效目录,其规则不会作用域当前目录的上层目录;env是指定规则所处的环境可以允许其全局变量(参考);ignorePatterns是需要忽略eslint作用的目录;globals生名全局变量,避免某个全局变量eslint会报错或警告;parserOptions;extends可配置eslint的拓展,多个拓展使用数组,其中eslint:recommended是启用一系列核心规则,其规则便是下面的rules属性;plugin:vue/essential是使用插件对应的规则,如果是vue3项目建议用plugin:vue/vue3-recommended替代,'@vue/prettier'是使用额外的配置文件;plugins是要使用的插件;rules是定义的检测规则
配置VsCode
打开VsCode配置文件设置"eslint.run": "onSave",