eslint 配置文件
以下是之前写的前端开发规范配套的 eslint,后续会发布一个 eslint-config 放到 npm 上,使用教程等上传到 npm 上之后再写,目前可以直接把这个下边的配置 copy 到自己的 .eslintrc.js
中,具体每一条什么意思都已经写明了,如果还有不清楚的,给大家个传送门,自行搜索一下吧~
如果使用了 react 或者 vue 的话,需要在 extends 中添加 react 或者 vue 的校验,vue 可以直接参考 eslint-config-vue、规则归类、eslint-plugin-vue,react 的话需要自行搜索一下。
重点来咯,放大招:
module.exports = {
root: true,
parserOptions: {
parser: 'babel-eslint',
sourceType: 'module'
},
env: {
browser: true,
node: true,
es6: true
},
extends: 'eslint:recommended',
rules: {
// 强制 getter 和 setter 在对象中成对出现
'accessor-pairs': 2,
// 强制箭头函数的箭头前后使用一致的空格,true:开启空格,false:不开启空格
'arrow-spacing': [
2,
{
before: true,
after: true
}
],
// 禁止或强制在代码块中开括号前和闭括号后有空格,'always': 强制开闭空格,'never': 禁用空格
'block-spacing': [2, 'always'],
// 强制在代码块中使用一致的大括号风格,http://eslint.cn/docs/rules/brace-style
'brace-style': [2, '1tbs'],
// 强制属性名称为驼峰风格,常量忽略,http://eslint.cn/docs/rules/camelcase
'camelcase': [
1,
{
properties: 'always'
}
],
// 禁止使用拖尾逗号,结束时不应该有逗号
'comma-dangle': [2, 'never'],
// 逗号前没有空格,逗号后由空格
'comma-spacing': [
2,
{
before: false,
after: true
}
],
// 禁止出现空函数,如果是需要后续做,可以在函数内部写一条注释
'no-empty-function': 2,
// 要求逗号放在数组元素、对象属性或变量声明之后,且在同一行
'comma-style': [2, 'last'],
// 要求在构造函数中有 super() 的调用
'constructor-super': 2,
// if, else, for, while, do, 后必须有大括号
'curl': [2, 'all'],
// 要求点操作符和属性放在同一行
'dot-location': [2, 'property'],
// 在非空文件末尾至少存在一行空行
'eol-last': 2,
// 用'===', '!=='代替'==', '!=',null 除外;
'eqeqeq': ['error', 'always'