[实践]-使用ESLINT检查代码规范

ESLint最初是由Nicholas C. Zakas 于2013年6月创建的开源项目。它的目标是提供一个插件化的javascript代码检测工具

中文官网: http://eslint.cn/

介绍

JavaScript 是一个动态的弱类型语言,在开发中比较容易出错。因为没有编译程序,为了寻找 JavaScript 代码错误通常需要在执行过程中不断调适。像 ESLint 这样的可以让程序员在编码的过程中发现问题而不是在执行的过程中, 对JavaScript来说就很有价值了(相当于让JavaScript具有了静态代码检查的能力)。

ESLint 使用 Node.js 编写,这样既可以有一个快速的运行环境的同时也便于安装。

规则配置

ESlint提供了一个代码检查的程序,并且支持一系列的规则和格式化方法的配置。但ESLINT非常灵活,因为所有的规则都是可开可关,由你自己配置。不仅可以在项目级别进行配置,还可以在某代码运行地方指定。

一条规则都有个默认的选项。你可以设置0,1,2三个值来表示“off”、“warning”还是“error”。当然也可以使用这几个字符串来表达。

有些规则有额外的值,改变规则的含义,此时你要把额外的值写到0、1、2的后面。如

1
"space-in-parens": [2, "never"],

还有些会有对象参数:

1
eslint semi: ["error", "always", { "omitLastInOneLineBlock": true}]

检查ES6代码

ES6代码需要先进行转换,此时可以使用babel-eslint进行转换的检查。

此时.eslint的配置如下, 需要指定好检查时的parser:

1
2
3
4
5
6
{
"parser": "babel-eslint",
"rules": {
...
}
}

package.json如下:

1
2
3
4
5
6
7
8
9
10
{
"name": "my-module",
"scripts": {
"lint": "eslint my-files.js"
},
"devDependencies": {
"babel-eslint": "...",
"eslint": "..."
}
}

语法检查(Linting)

ESLint 是最流行的语法检查工具之一,因此我们维护了一个官方的 babel-eslint 整合软件包。

首先安装 eslint 和 babel-eslint。.

$ npm install –save-dev eslint babel-eslint
然后创建或使用项目现有的 .eslintrc 文件并设置 parser 为 babel-eslint。.

{

  • “parser”: “babel-eslint”,
    “rules”: {

    }
    }
    现在添加一个 lint 任务到 npm 的 package.json 脚本中:

    {
    “name”: “my-module”,
    “scripts”: {

  • “lint”: “eslint my-files.js”
    },
    “devDependencies”: {
    “babel-eslint”: “…”,
    “eslint”: “…”
    }
    }
    接着只需要运行这个任务就一切就绪了。

$ npm run lint
详细信息请咨询 babel-eslint 或者 eslint 的文档

Refer

http://morning.work/page/maintainable-nodejs/getting-started-with-eslint.html