一、全局安裝
npm install -g eslint
二、生成配置文件
在項目根目錄執行init,生成.eslintrc文件。在init時,要求根目錄存在package.json。當然也可以直接復制個現成的.eslintrc.js文件。
eslint --init
三、自定義配置項
根據規則文檔,編輯.eslintrc.js文件內容。
module.exports = {
"env": {
"node": true
},
"rules": {
// 強制使用一致的縮進
"indent": ["warn", "tab"],
// 禁止空格和 tab 的混合縮進
"no-mixed-spaces-and-tabs":1,
// 禁用 debugger
"no-debugger": 1,
// 禁止不必要的布爾轉換
"no-extra-boolean-cast": 1,
// 強制所有控制語句使用一致的括號風格
"curly": 1,
// 禁止使用多個空格
"no-multi-spaces": 1,
// 要求在函數標識符和其調用之間有空格
"func-call-spacing": 1,
// 強制在函數括號內使用一致的換行
"function-paren-newline": ["warn", "never"],
// 強制隱式返回的箭頭函數體的位置
"implicit-arrow-linebreak": 1,
// 強制在對象字面量的屬性中鍵和值之間使用一致的間距
"key-spacing": 1,
// 強制在關鍵字前后使用一致的空格
"keyword-spacing":1,
// 要求調用無參構造函數時有圓括號
"new-parens":1,
// 禁止出現多行空行
"no-multiple-empty-lines":1,
// 要求使用分號代替 ASI
"semi":["warn","always"],
// 要求操作符周圍有空格
"space-infix-ops":1
}
};
配置內容也可以寫在package.json中,具體規則也是寫在rules里。有時用vue-cli生成的項目會在package.json里看到這樣的配置:
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"rules": {},
"parserOptions": {
"parser": "babel-eslint"
}
}
四、執行檢查並修改
eslint * --fix
