webstorm nodejs ESLint 簡單配置

ESLint 簡介 官網 http://eslint.org/

在團隊協作中,爲避免低級 Bug、產出風格統一的代碼,會預先制定編碼規範。使用 Lint 工具和代碼風格檢測工具,則可以輔助編碼規範執行,有效控制代碼質量。

在以前的項目中,我們選擇 JSHint 和 JSCS 結合使用,WebStorm 等開發環境已經支持這些工具,使用起來很順手。然而,最近使用 React JSX 語法時,卻遇到了問題:JSHint 不支持 JSX 語法。雖然有 JSXHint 這樣的 JSHint 衍生工具,但個人並不喜歡這樣的實現方式:不是以插件的形式實現,而是重新重新包裝了一個工具。Nicholas C. Zakas 也不喜歡,所以有了 ESLint

原來選擇 JSHint 的時候,也對比過 ESLint,基於 ESLint 在速度上比 JSHint 要慢一些,最終使用了 JSHint。現在需要 JSX 支持了,才發現 ESLint 的設計理念更符合實際需求。


ESLint 由 JavaScript 紅寶書 作者 Nicholas C. Zakas 編寫, 2013 年發佈第一個版本。 NCZ 的初衷不是重複造一個輪子,而是在實際需求得不到 JSHint 團隊響應 的情況下做出的選擇:以可擴展、每條規則獨立、不內置編碼風格爲理念編寫一個 lint 工具。

ESLint 主要有以下特點:

  • 默認規則包含所有 JSLint、JSHint 中存在的規則,易遷移;
  • 規則可配置性高:可設置「警告」、「錯誤」兩個 error 等級,或者直接禁用;
  • 包含代碼風格檢測的規則(可以丟掉 JSCS 了);
  • 支持插件擴展、自定義規則。

ESLint 已經宣佈支持 JSX,不過目前爲 alpha 版本,正式版發佈之前可以先使用 eslint-plugin-react 替代。


更詳細請移步 https://github.com/Jocs/ESLint_docs


webstorm 的 nodejs ESLint 環境配置

  • 首先安裝ESLint
    npm install eslint -g
    webstrom 要啓用 eslint自動檢測,需要 eslint全局安裝
  • 配置一下 .eslintrc 文件 放在項目根目錄
    {
        "extends": "eslint:recommended",
        "env":{
          "node":true,
          "es6":true
        },
        "rules": {
            "semi": ["error", "always"],
            "quotes": "off",
            "no-console":"off",
            "no-unused-vars":"off",
            "no-unreachable":"off",
            "no-redeclare":"warn"
        }
    }
  • 可選配置,讓eslint忽略檢測的文件 .eslintignore 配置規則與 .gitignore 一樣
#井號是註釋  根據自己的項目需要進行忽略
# 如果 .eslintrc 開啓了 env  nodejs 那麼 默認 node_modules是自動忽略的
node_modules
/node_modules/**
*.sh
game-server/web-server
game-server/web-server/**
tools
tools/**
test
test/**
game-server/purchase-server/lib/seedrandom.js
game-server/app/staticData/data/temp/*.js
  • 打開webstorm
    選擇File | Settings | Languages & Frameworks | JavaScript | Code Quality Tools | ESLint 勾選 Enable .

  • 至此,在 webstorm內, eslint已經可以工作了. webstorm可以自動提示 eslint指出的代碼問題.


如需要手動檢查所有代碼的問題 ,可以打開 webstorm的 terminal,

輸入 eslint .

如需要自動修復一些不規範的代碼問題 ,例如 沒有分號的問題,可以

輸入 eslint . --fix
http://eslint.org/docs/rules/ 帶小扳手的規則都可以自動修復.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章