1、安裝
npm install -g eslint 安裝eslint
編輯器安裝插件eslint(具體安裝方法根據不一樣編輯器而不一樣)javascript
2、使用
使用方法一:
eslint --init npm中用命令新建eslintrc.js文件
eslint yourfile.js npm中用命令檢查本身文件中的錯誤java
使用方法二:
手動在項目的根目錄下新建eslintrc.*文件(.js、.json、.yaml、.yml等),進行配置(具體配置規則詳見下文),便可在安裝好eslint的編輯器中查看到出現錯誤的位置。node
3、配置:http://eslint.org/docs/rules/ (如下規則文件配置一個便可,置於項目根目錄下)
(1).eslintrc文件中進行配置 http://eslint.org/docs/user-guide/configuringnpm
{ "rules": { "semi": ["error", "always"], "quotes": ["error", "double"] } }
4、其餘
1.在樣式以前標註「/* eslint-disable */」,可忽略配置的規則;標註「/* esint-enable */「,開啓配置的規則
2.「/* eslint-enable */「必須在「/* eslint-disable */」以後使用
3.忽略指定的內容:新建一個.eslineignore文件,例如:
# /node_modules/* and /bower_components/* ignored by default
# Ignore built files except build/index.js
build/*
!build/index.js
經過命令 eslint --ignore-path .eslintignore file.js可檢測是否被忽視
4.enlint 有不少的rules,爲了改變rule的設置,能夠設置rule ID等同於一些規則屬性:如
"off" or 0 關閉規則
"warn" or 1 打開規則,出現警告提示
"error" or 2 打開規則,出現錯誤提示
規則可以下定義:json
"rules": { "camel_case": 2 }
5、配置文件數組
{ "rules": { "array-callback-return": "error", "indent": ["error", 4, {"SwitchCase": 1}], "block-spacing": "error", "brace-style": ["error", "1tbs"], "camelcase": ["error", { "properties": "never" }], "callback-return": ["error", ["cb", "callback", "next"]], "comma-spacing": "error", "comma-style": ["error", "last"], "consistent-return": "error", "curly": ["error", "all"], "default-case": "error", "dot-notation": ["error", { "allowKeywords": false }], "eol-last": "error", "eqeqeq": "error", "guard-for-in": "error", "key-spacing": ["error", { "beforeColon": false, "afterColon": true }], "keyword-spacing": "error", "lines-around-comment": ["error", { "beforeBlockComment": true, "afterBlockComment": false, "beforeLineComment": true, "afterLineComment": false }], "new-cap": "error", "newline-after-var": ["error", "never"], "new-parens": "error", "no-array-constructor": "error", "no-invalid-this": "error", "no-multi-spaces": "error", "no-redeclare": "error", "no-return-assign": "error", "no-spaced-func": "error", "no-trailing-spaces": "error", "semi": "error", "semi-spacing": "error", "quotes":["error","double"], "space-before-function-paren": ["error", "never"], "space-in-parens": "error", "space-infix-ops": "error", "space-unary-ops": ["error", {"words": true, "nonwords": false}], "spaced-comment": "error", "yoda": ["error", "never"], "no-mixed-requires": "error", "handle-callback-err": ["error", "err"] } }
6、配置文件說明
安全
屬性名 | 屬性值 | 描述 |
array-callback-return | "error" | Array執行回調函數返回語句 |
indent | ["error", 4, {"SwitchCase": 1}] | 縮寫格式的一致性 |
block-spacing | "error" | 禁止執行空間內出現'-' |
brace-style | ["error","1tbs"] | 代碼書寫格式驗證 |
camelcase | ["error", { "properties": "never" }] | 屬性命名規則能夠不使用駝峯命名法 |
callback-return | ["error", ["cb", "callback", "next"]] | 回調函數須要return進行返回 |
comma-spacing | "error" | 不容許在逗號前面出現空格 |
comma-style | ["error", "last"] | 方數組元素、變量聲明等直接須要逗號隔開 |
consistent-return | "error" | 保持return返回的一致性 |
curly | ["error", "all"] | 函數或者條件判斷時須要統一使用大括號 |
default-case | "error" | switch語句中必須有default條件 |
dot-notation | ["error", { "allowKeywords": false }] | 不容許關鍵字出如今變量中 |
eol-last | "error" | 代碼間間隔出現一行 |
eqeqeq | "error" | 消除不安全類型的全等操做 |
guard-for-in | "error" | for循環中過濾掉一下不被須要的行爲 |
key-spacing | ["error", { "beforeColon": false, "afterColon": true }] | 鍵和值前保留一個空格 |
keyword-spacing | "error" | 確保字符先後空格的一致性 |
lines-around-comment | ["error", { "beforeBlockComment": true, "afterBlockComment": false, "beforeLineComment": true, "afterLineComment": false }] |
註釋前須要空行,註釋後不須要空行 |
new-cap | "error" | 構造函數首字母須要大寫 |
newline-after-var | ["error", "never"] | var定義後不空行 |
new-parens | "error" | 沒有參數時,構造函數也須要添加括號 |
no-invalid-this | "error" | 不容許關鍵字this在函數或者類的外面 |
no-multi-spaces | "error" | 不容許鍵和值之間存在多個空格 |
no-redeclare | "error" | 不容許重複聲明 |
no-return-assign | "error" | 不容許在return語句中任務 |
no-spaced-func | "error" | 調用函數時,函數名和括號之間不能有空格。 |
no-trailing-spaces | "error" | 不容許在語句後存在多餘的空格 |
semi | "error" | 語句以分號結尾 |
semi-spacing | "error" | 分號先後不能有空格 |
quotes | ["error","double"] | 使用雙引號 |
[space-before-function-paren](http://eslint.org/docs/rules/space-before-function-paren) | "space-before-function-paren": ["error", "never"] | 不容許函數括號之間存在空格 |
space-in-parens | "error" | 不容許在括號裏面存在空格 |
space-infix-ops | "error" | 插入符合變量之間須要添加一個空格 |
space-unary-ops | ["error", {"words": true, "nonwords": false}] | 容許一元運算符操做 |
spaced-comment | "error" | 註釋前須要一個空格 |
yoda | ["error", "never"] | 條件語句中,變量在賦值語句的前面 |
no-mixed-requires | "error" | 不容許混合requires文件 |
no-new-require | "error" | 不容許new require出現 |
no-path-concat | "error" | 不容許路徑以_連接 |
handle-callback-err | ["error", "err"] | 處理錯誤的回調函數 |