React系列---ESlint

ESLint是一個JavaScript代碼靜態檢查工具,能夠檢查JavaScript的語法錯誤,提示潛在的bug,能夠有效提升代碼質量。維持前端團隊高度一致的編碼風格。ESLint不但提供一些默認的規則,也提供用戶自定義規則來約束所寫的JavaScript代碼。前端

詳細的能夠參考:ESLint中文node

讓項目加上ESLint代碼規範支持很是容易。react

安裝安裝ESLint、ESLint loaderes6

npm install --save-dev eslint@3.19.0
npm install --save-dev eslint-loader

逐個配置規則有點麻煩,ESLint有不少第三方配置好的格式插件,Airbnb開發配置合集就比較經常使用:npm

npm install --save-dev eslint-config-airbnb

Airbnb包括瞭如下三個插件須要安裝:工具

npm install --save-dev eslint-plugin-import
npm install --save-dev eslint-plugin-react 
npm install --save-dev eslint-plugin-jsx-a11y

項目根目錄下建立並ESLint配置文件,.eslintrc.js:編碼

module.exports = {
  // 指定校驗的ECMAScript的版本及特性
  "parserOptions": {
    "ecmaVersion": 7, // ECMAScript版本,7爲ES7
    "sourceType": "module", //默認script,若是代碼是ECMAScript模塊,設置爲module
    "ecmaFeatures": { // 使用額外的語言特性
        "jsx": true // 啓用JSX
    }
  },
  // 當訪問未定義的變量時,no-undef 規則將發出警告
  // 指定腳本的運行環境。每種環境都有一組特定的預約義全局變量
  "env": {
    "es6": true,
    "node": true,
    "browser": true,
  },
  // 當訪問未定義的變量時,no-undef 規則將發出警告
  // 腳本在執行期間訪問的額外的全局變量
  "globals": {
    "document": true,
    "navigator": true,
    "window":true,
    "node":true
  },
  // 使用第三方airbnb開發配置合集
  "extends": "airbnb",
  // eslint-config-airbnb包括瞭如下3個插件
  "plugins": [
    "react",
    "jsx-a11y",
    "import"
  ],
  // 定義本身的規則
  "rules": {
    "comma-dangle": ["error", "never"], // 要求或禁止末尾逗號:不容許逗號
    "indent": ["error", 4], // JavaScript代碼強制使用一致的縮進:4格縮進
  }
};

能夠參照ESLint完整規則列表,找到並定製本身的規則。插件

相關文章
相關標籤/搜索