module.exports = { //此项是用来告诉eslint找当前配置文件不能往父级查找 root: true, //此项是用来指定eslint解析器的,解析器必须符合规则,babel-eslint解析器是对babel解析器的包装使其与ESLint解析 parser: 'babel-eslint', //此项是用来指定javaScript语言类型和风格,sourceType用来指定js导入的方式,默认是script,此处设置为module,指某块导入方式 parserOptions: { sourceType: 'module' }, //此项指定环境的全局变量,下面的配置指定为浏览器环境 env: { browser: true, }, // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style // 此项是用来配置标准的js风格,就是说写代码的时候要规范的写,如果你使用vs-code我觉得应该可以避免出错 extends: 'standard', // required to lint *.vue files // 此项是用来提供插件的,插件名称省略了eslint-plugin-,下面这个配置是用来规范html的 plugins: [ 'html' ], // add your custom rules here // 下面这些rules是用来设置从插件来的规范代码的规则,使用必须去掉前缀eslint-plugin- // 主要有如下的设置规则,可以设置字符串也可以设置数字,两者效果一致 // "off" -> 0 关闭规则 // "warn" -> 1 开启警告规则 //"error" -> 2 开启错误规则 // 了解了上面这些,下面这些代码相信也看的明白了 rules: { "indent":["off",2], "no-console": "error", // 禁止console "no-alert": "error", // 禁止alert,conirm等 "no-debugger": "error", // 禁止debugger "semi": 0, // 禁止分号 "eqeqeq": "off",// "no-tabs": "error", // 禁止使用tab "no-unreachable": "error", // 当有不能执行到的代码时 "eol-last": "error", // 文件末尾强制换行 "no-new": "error", // 禁止在使用new构造一个实例后不赋值 "quotes": "error", // 引号类型 `` "" '' "no-unused-vars": 0, // 不能有声明后未被使用的变量 "no-trailing-spaces": "error", // 一行结束后面不要有空格 "space-before-function-paren": 0, // 函数定义时括号前面要不要有空格 "no-undef": "error", // 不能有未定义的变量,定义之前必须有var或者let "curly": ["error", "all"], // 必须使用 if(){} 中的{} 'arrow-parens': "error", // 箭头函数的参数要有()包裹 'generator-star-spacing': "error", // allow async-await "space-before-function-paren": 0, // 禁止函数名前有空格,如function Test (aaa,bbb) "space-in-parens": 0, // 禁止圆括号有空格,如Test( 2, 3 ) "space-infix-ops": 0, //在操作符旁边必须有空格, 如 a + b而不是a+b "space-before-blocks": 0, // 语句块之前必须有空格 如 ) {} "spaced-comment":0, // 注释前必须有空格 "arrow-body-style": ["error", "always"], // 要求箭头函数必须有大括号 如 a => {} "arrow-parens": ["error", "always"], //要求箭头函数的参数必有用括弧包住,如(a) =>{} "arrow-spacing": ["error", { "before": true, "after": true }], // 定义箭头函数的箭头前后都必须有空格 "no-const-assign": "error", // 禁止修改const变量 "template-curly-spacing": ["error", "never"], // 禁止末班字符串中的{}中的变量出现空格,如以下错误`${ a }` "no-multi-spaces": 0, // 禁止多个空格,只有一个空格的地方必须只有一个 "no-whitespace-before-property": 0, // 禁止属性前有空格,如obj. a "keyword-spacing":0,//关键字前后必须有空格 如 } else { "no-useless-escape": 0,// 禁止不必要的转义字符 }, }