基本規(guī)范
module.exports = {
"parser": "babel-eslint", // 支持更多的語法,如jsx
"env": {
"browser": true, // 瀏覽器模式(與node的區(qū)別)
"commonjs": true, // 支持commonjs
"es6": true // 支持es6
},
"extends": "standard", // 采用標準的推薦規(guī)則,Airbnb最嚴
"rules": {
"eqeqeq": [0], // 是否支持==,0為支持
"indent": [ // 定義代碼縮進
"error",
2
],
"no-console": [ // 是否允許代碼中存在console
2
],
"linebreak-style": [ // 換行模式,建議用unix
"error",
"unix"
],
"quotes": [ // 引號是用單引號還是雙引號
"error",
"single"
],
"semi": [ // 是否使用分號
"error",
"never"
]
}
};
demo 構(gòu)建過程
- npm init
- 2.cnpm i eslint --save-dev
-
3.eslint --init
image.png - 4.create js file
var b = '1'
if (a == 1) {
console.log('3')
}
var A = () => {
console.log(b)
}
A()
-
5.eslint
image.png
附
更多的規(guī)則
"no-console": "error", // 禁止console
"no-alert": "error", // 禁止alert,conirm等
"no-debugger": "error", // 禁止debugger
"semi": ["error", "never"], // 禁止分號
"no-tabs": "error", // 禁止使用tab
"no-unreachable": "error", // 當(dāng)有不能執(zhí)行到的代碼時
"eol-last": "error", // 文件末尾強制換行
"no-new": "error", // 禁止在使用new構(gòu)造一個實例后不賦值
"quotes": ["error", "backtick"], // 引號類型 `` "" ''
"no-unused-vars": ["error", { "vars": "all", "args": "after-used" }], // 不能有聲明后未被使用的變量
"no-trailing-spaces": "error", // 一行結(jié)束后面不要有空格
"space-before-function-paren": ["error", "never"], // 函數(shù)定義時括號前面要不要有空格
"no-undef": "error", // 不能有未定義的變量,定義之前必須有var或者let
"curly": ["error", "all"], // 必須使用 if(){} 中的{}
'arrow-parens': "error", // 箭頭函數(shù)的參數(shù)要有()包裹
'generator-star-spacing': "error", // allow async-await
"space-before-function-paren": ["error", "never"], // 禁止函數(shù)名前有空格,如function Test (aaa,bbb)
"space-in-parens": ["error", "never"], // 禁止圓括號有空格,如Test( 2, 3 )
"space-infix-ops": "error", //在操作符旁邊必須有空格, 如 a + b而不是a+b
"space-before-blocks": ["error", "always"], // 語句塊之前必須有空格 如 ) {}
"spaced-comment":["error", "always"], // 注釋前必須有空格
"arrow-body-style": ["error", "always"], // 要求箭頭函數(shù)必須有大括號 如 a => {}
"arrow-parens": ["error", "always"], //要求箭頭函數(shù)的參數(shù)必有用括弧包住,如(a) =>{}
"arrow-spacing": ["error", { "before": true, "after": true }], // 定義箭頭函數(shù)的箭頭前后都必須有空格
"no-const-assign": "error", // 禁止修改const變量
"template-curly-spacing": ["error", "never"], // 禁止末班字符串中的{}中的變量出現(xiàn)空格,如以下錯誤`${ a }`
"no-multi-spaces": "error", // 禁止多個空格,只有一個空格的地方必須只有一個
"no-whitespace-before-property": "error", // 禁止屬性前有空格,如obj. a
"keyword-spacing":["error",{"before": true, "after": true}] //關(guān)鍵字前后必須有空格 如 } else {

