文档章节

ESLint - 简介

王福林
 王福林
发布于 2017/09/11 15:59
字数 750
阅读 4
收藏 0

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.js
module.exports = {
  env: {
    browser: true,
    node: true,
  },
};

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

指定全局变量

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

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

规则

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

这些规则的等级有三种:

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

例如:

  • js 文件
// .eslintrc.js
module.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-config-airbnb

使用方法

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

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

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



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

本文转载自:http://www.jianshu.com/p/2bcdce1dc8d4

共有 人打赏支持
王福林
粉丝 10
博文 94
码字总数 37444
作品 0
徐汇
程序员
在项目中如何使用ESLint提高代码质量

关于ESLint的版本,目前ESLint的稳定版本是v4.19.1,如果你看过ESLint的官方文档,就会知道官网推出了ESLint v5.0.0-alpha.1,这是ESLint的一个主要版本升级。由于这是预发布版本,ESLint尚未...

小欣妹妹
04/18
0
0
我是如何在公司项目中使用ESLint来提升代码质量的

ESLint:你认识我吗 ESLint是一个语法规则和代码风格的检查工具。 和学习所有编程语言一样,想要入门ESLint,首先要去它的官网看看:https://eslint.org/。 ESLint的版本问题 目前ESLint的稳...

闰土大叔
04/16
0
0
写更漂亮的javascript

用更合理的方式写 JavaScript 目录 声明变量 对象 数组 字符串 函数 箭头函数 模块 迭代器和生成器 属性 变量 提升 比较运算符和等号 代码块 注释 空白 逗号 分号 类型转换 命名规则 声明变量...

小红依
06/05
0
0
了解ESlint和关闭ESlint语法检测

vue-cli脚手架创建的项目默认使用ESlint规则,启动项目的时候因为各种语法报错,不得不先停下了解一下什么是ESlint,然后储备一下如何关闭ESlint语法检测。 【使用vue-cli快速搭建项目】:h...

四小七
05/11
0
0
atom 配置 eslint 使用 Google 规范 格式化 js 文件

eslint官方提供了3种预安装包: eslint-config-google Google标准 执行安装: eslint-config-airbnb Airbnb标准,它依赖eslint, eslint-plugin-import, eslint-plugin-react, and eslint-plu......

阿豪boy
01/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

python做文本内容指定区域字符串替换

需求: 因为公司项目需要做SEO优化,所以对项目中的各种长连接做优化,比如本文中提到的精简路径;之前已经批量吧文本的路径名字等做过修改,这里不再赘述;这里的问题是外部的路径修改了,文...

坦途abc
30分钟前
3
0
MySQL 关键字模糊匹配,并按照匹配度排序

MySQL 关键字模糊匹配,并按照匹配度排序。 方式一、按照关键字搜索,然后根据关键字所占比例排序 SELECTdrug_name,pinyinFROMtbl_drugWHEREpinyin LIKE '%AM%'ORDER BY...

yh32
40分钟前
3
0
虚拟机学习之一:java内存区域与内存溢出异常

1.运行时数据区域 java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途和创建、销毁时间,有的区域伴随虚拟机进程的启动而存在,有些区...

贾峰uk
40分钟前
0
0
Spring加载properties文件的两种方式

在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties里面的配置,这样后期只需要改动properties文件即可,不需要修...

架构师springboot
56分钟前
1
0
分布式事务,原来可以这么玩?

多个数据要同时操作,如何保证数据的完整性,以及一致性? 答 : 事务 ,是常见的做法。 举个栗子: 用户下了一个订单,需要修改 余额表 , 订单 表 , 流水 表 ,于是会有类似的伪代码: st...

微笑向暖wx
59分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部