zoukankan      html  css  js  c++  java
  • 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: eport.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代码检测示例

  • 相关阅读:
    jqurey技术总结
    ie浏览器兼容问题小结
    FIS的合并压缩技术
    对js中数组的一些总结
    浅谈如何面向对象进行封装
    13th week blog
    12th week blog
    11th week blog
    10th week blog
    9th Week blog
  • 原文地址:https://www.cnblogs.com/edisonxiang/p/4689869.html
Copyright © 2011-2022 走看看