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代码检测示例

posted @ 2015-07-30 16:56  Edisonxiang  阅读(2136)  评论(0编辑  收藏  举报