博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ESLint - 简介
阅读量:7156 次
发布时间:2019-06-29

本文共 1852 字,大约阅读时间需要 6 分钟。

hot3.png

ESLint是一个用来识别 ECMAScript 并且按照规则给出报告的代码检测工具,使用它可以避免低级错误和统一代码的风格。ESLint被设计为完全可配置的,主要有两种方式来配置ESLint:

  • 在注释中配置:使用JavaScript注释直接把配置嵌入到JS文件中。
  • 配置文件:使用下面任一的文件来为全部的目录和它的子目录指定配置信息。
    • javascript:使用.eslintrc.js文件并导出一个包含配置的对象。
    • YAML:.eslintrc.yaml或者.eslintrc.yml
    • JSON:.eslintrc.json,并且此文件允许使用JS形式的注释
    • 废弃的用法:.eslintrc,此文件可以是JSON或者YAML
    • package.json:在package.json文件中创建eslintConfig属性,所有的配置包含在此属性中。

这些文件的优先级则是按照以上出现的顺序(.eslintrc.js > .eslintrc.yaml > .eslintrc.yml > .eslintrc.json > .eslintrc > package.json)。

可以被配置的信息主要分为3类:

  • Environments:你的 javascript 脚步将要运行在什么环境(如:nodejs,browser,commonjs等)中。
  • Globals:执行代码时脚步需要访问的额外全局变量。
  • Rules:开启某些规则,也可以设置规则的等级。

安装

  • 全局安装
npm i -g eslint
  • 局部安装(推荐)
npm i -D eslint

安装完毕后,接下来新建一个配置文件.eslintrc.js,或者使用如下的命令行来自动生成。

eslint --init

配置

指定执行环境

JavaScript 代码可以运行在浏览器或 nodejs 等环境中,每个环境的全局变量都不尽相同(如 nodejs 中没有 DOM 相关的全局变量)。在配置文件中可以自由的指定执行环境。

// .eslintrc.jsmodule.exports = {  env: {    browser: true,    node: true,  },};

所有的环境可以在上查询。

指定全局变量

可以在配置文件或注释中指定额外的全局变量,false表明变量只读:

  • 注释:
/* global var1, var2 *//* global var1:false, var2:false */
  • js 文件:
// .eslintrc.jsmodule.exports = {  globals: {    var1: true,    var2: true,  },};

规则

在配置文件中可以设置一些规则。

这些规则的等级有三种:

  • "off" 或者 0:关闭规则。
  • "warn" 或者 1:打开规则,并且作为一个警告(不影响exit code)。
  • "error" 或者 2:打开规则,并且作为一个错误(exit code将会是1)。

例如:

  • js 文件
// .eslintrc.jsmodule.exports = {  rules: {    eqeqeq: 'off',    curly: 'error',  },};
  • 注释文件
/* eslint eqeqeq: "off", curly: "error" *//* eslint eqeqeq: 0, curly: 2 */

也可以在注释中关闭所有或者某个规则:

/* eslint-disable *//* eslint-enable *//* eslint-disable no-alert, no-console *//* eslint-enable no-alert, no-console */

具体的规则可以在上找到,或者使用别人写好的配置,例如。

使用方法

通过命令行工具来使用 eslint 。

eslint [options] file.js [file.js] [dir]

除了使用命令行还可以配合 webpack 或者配合编辑器的插件(如)来使用。

作者:给我一炷香的时间
链接:http://www.jianshu.com/p/2bcdce1dc8d4
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

转载于:https://my.oschina.net/martin123/blog/1535216

你可能感兴趣的文章
关于我
查看>>
生物化学的一些语料库资源网站【转载】
查看>>
BZOJ 3027: [Ceoi2004]Sweet
查看>>
基于中值滤波或双边滤波方式的图像去雾效果的研讨。
查看>>
swift中的字符串的一些运用
查看>>
Android的GridView和Gallery结合Demo
查看>>
【weixin】微信支付---Native支付模式一
查看>>
Spring Cloud Config采坑记
查看>>
程序执行时,提示数据包堵塞,数据库时不时断开的问题
查看>>
OpenGL ES入门指南-原理(转载)
查看>>
ASP.NET Core 介绍
查看>>
《哈佛大学公开课:幸福课》学习笔记(2)
查看>>
20050606:答辩完了
查看>>
json库
查看>>
autofac文档:循环依赖
查看>>
MySQL-----增
查看>>
How to enable LDAP over SSL with a third-party certification authority
查看>>
[NOIP2010] 提高组 洛谷P1525 关押罪犯
查看>>
CSS的优先级
查看>>
2.编程语言,格式化输出,与用户交互
查看>>