ESLint


 

ESLint 簡介

ESLint是由Nicholas C. Zakas編寫的一個Javascript的驗證工具,

ESLint不僅可以檢驗Javascript錯誤,也可以進行代碼風格檢測。

2013年6月發布第一個版本,最新版本是2015年7月24號發布的ESLint 1.0.0-rc-3

ESLint主要有以下特點:

  (1) 默認規則包含所有JSLint、JSHint中存在的規則,易遷移到ESLint

  (2) ESLint相比於JSLint、JSHint,更加靈活強大,規則可配置性很高

  (3) 包含代碼風格檢測的規則

  (4) 支持插件擴展、自定義規則

 

ESLint在OpenStack中的應用項目

1.Horizon

2.Murano

 

ESLint環境搭建

1.安裝NodeJS

  NodeJS是一個基於Chrome JavaScript運行時建立的平台,使用V8引擎,用於方便地搭建響應速度快、易於擴展的網絡后台應用。

  下載地址:https://nodejs.org/download/

2.使用NPM安裝ESLint

  NPM的全稱是Node Package Manager,類似pip,通過NPM安裝Nodejs的第三方庫。

  執行命令:npm install eslint

3.執行eslint命令檢測項目中的Javascript文件

  eslint -f junit -o C:\report.xml C:\

  PS: 輸出文件內容格式默認為"stylish".

    還包括: "compact", "checkstyle", "jslint-xml", "junit","tap".

 

ESLint常用配置方式

1.在文件.eslintrc文件配置,支持 JSON 和 YAML 兩種語法。.eslintrc 文件YAML示例:

env:
  # Use jquery global variables
  jquery: true
 # If javascript is running in browser
  browser: true

rules:
  # Specify whether backticks, double or single quotes should be used
  # http://eslint.org/docs/rules/quotes
  quotes:
    - 0
    - 'single'

  # Require camel case names
  # http://eslint.org/docs/rules/camelcase
  camelcase:
    - 1
    - properties: "never"

  # This option sets a specific tab width for your code
  # http://eslint.org/docs/rules/indent
  indent:
    - 2 # Mark as errors.
    - 2 # horizon uses 2 space indentation.

globals:
  # allow accessing horizon
  horizon: false
  # allow accessing horizon
  murano: false

    PS:.eslintrc 放在項目根目錄,則會應用到整個項目;

      如果子目錄中也包含.eslintrc 文件,則子目錄會忽略根目錄的配置文件,應用該目錄中的配置文件。

      這樣可以方便地對不同環境的代碼應用不同的規則。

2.在package.json中配置,使用JSON語法。

{
  "version": "0.0.0",
  "private": true,
  "name": "muranodashboard",
  "description": "Murano Dashboard",
  "repository": "none",
  "license": "Apache 2.0",
  "devDependencies": {
    "eslint": "^0.23.0"
  },
  "scripts": {
    "lint": "eslint --no-color muranodashboard/static"
  },
  "eslintConfig": {
    "env": {
      "jquery": true
      "browser": true } }
}

 

ESLint代碼檢測示例


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM