引言
参考文献:转载微信公众号的正文
文章结构:注释了一下 eslint.js 的各个配置项是什么意思,再也不会觉得像天书了(狗头
// eslint.js
module.exports = {
root: true, // 如果root设置为true,那么 ESLint 就会认为当前目录为根目录,不再向上查找配置。
parser: 'babel-eslint', // 解析器类型:espima(默认), babel-eslint, @typescript-eslint/parse
parserOptions: { // 解析器配置参数
sourceType: 'module' // 代码类型:script(默认), module
},
// https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
/**
* "eslint:recommended", // 一共有两个:eslint:recommended 、eslint:all
* "plugin:react/recommended", // 扩展是插件类型,也可以直接在 plugins 属性中进行设置 => extPlugin = `plugin:${pluginName}/${configName}`
* "eslint-config-standard", // 扩展来自 npm 包,官方规定 npm 包的扩展必须以 eslint-config- 开头,使用时可以省略这个头
*/
extends: 'standard', // 扩展就是直接使用别人已经写好的 lint 规则,方便快捷
// required to lint *.vue files
plugins: [ // 以 eslint-plugin- 开头,使用的时候也可以省略这个头
'vue'
],
/**
* “off” 或 0:关闭规则
* “warn” 或 1:开启规则,warn 级别的错误 (不会导致程序退出)
* “error” 或 2:开启规则,error级别的错误(当被触发的时候,程序会退出)
* {
* "rules": {
// 使用数组形式,对规则进行配置
// 第一个参数为是否启用规则
// 后面的参数才是规则的配置项
* "quotes": [
* "error",
* "single",
* {
* "avoidEscape": true
* }
* ]
}}
*/
'rules': { // 可以在配置文件的 rules 属性中配置你想要的规则
// allow paren-less arrow functions
'arrow-parens': 0,
// allow async-await
'generator-star-spacing': 0,
// allow debugger during development
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0
}
}
以上。🥳