一、全局安裝
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