eslint插件_什么是ESLint?

97f122e959adf05eb143a340205cb3cd.png

它是什么?

官网告诉我们,ESLint是一个用来识别ECMAScript/JavaScript并且按照规则给出报告的代码检测工具,他就是一个工具,检查代码。

代码检查是一种静态的分析,常用于寻找有问题的模式或者代码,并且不依赖于具体的编码格式。对大多数编程语言来说都会有代码检查,一般编译程序会内置检查工具。

JavaScript是一个动态的弱型语言,在开发过程中比较容易出错。因为没有编译,为了寻找JavaScript代码错误同好穿那个需要在执行过程中不断的调试。

ESLint的安装?

npm install eslint         #安装到命令行目前所在目录下
npm install -g eslint      #-g(global)全局安装 
                           可以通过npm config set prefix设置下载路径
npm install -save eslint   #-save表示将包安装到当前项目的node_modules文件下
                           并在pakeage文件的dependencies节点写入依赖
npm install -save-dev      #-save-dev将包安装在当前项目的node_modules文件夹下                        
                           并在写入pakeage文件的dependencies字段中

全局安装

1.安装

$ npm install -g eslint

2.配置文件

$ npm install -g eslint

3.运行ESLint

$ npm install -g eslint

ESLint和 JSLint、JSHint的区别:

1.ESLint 使用 Espree 解析 JavaScript。

2.ESLint 使用 AST 去分析代码中的模式。

3.ESLint 是完全插件化的。每一个规则都是一个插件并且你可以在运行时添加更多的规则。

ESLint的特点:

1.内置规则和自定义规则共用一套规则 API。

2.内置的格式化方法和自定义的格式化方法共用一套格式化 API。

3.额外的规则和格式化方法能够在运行时指定。

4.用户可以将结果设置成警告或者错误。

5.每条规则都是各自独立的,可以根据项目情况选择开启或关闭。

配置代码注释

ESLint附带有大量的规则,可以使用注释或配置文件修改你项目中要使用的规则。

当指定来自插件的规则时,确保删除 eslint-plugin- 前缀。ESLint 在内部只使用没有前缀的名称去定位规则。
/* eslint eqeqeq: "off", curly: "error" */ eqeqeq 规则被关闭,curly 规则被打开,定义为错误级别
/* eslint "plugin1/rule1": "error" */  plugin1/rule1 表示来自插件 plugin1 的 rule1 规则

可以在你的文件中使用一下格式的块注释来临时禁制规则出现警告:

/* eslint-disable */
alert('foo');
/* eslint-enable */

你也可对指定的规则启用或禁用警告:

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

alert('foo');
console.log('bar');

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

如果在整个文件范围内禁止规则出现警告,将/* eslint-disable */块注释放在文件顶部:

/* eslint-disable */

alert('foo');

你也可以对整个文件启用或禁用警告:

/* eslint-disable no-alert */

// Disables no-alert for the rest of the file
alert('foo');

ESLint检查规则

部分来源于网络,完整规则查看官方文档

"no-alert": 0,//禁止使用alert confirm prompt
"no-array-constructor": 2,//禁止使用数组构造器
"no-bitwise": 0,//禁止使用按位运算符
"no-caller": 1,//禁止使用arguments.caller或arguments.callee
"no-catch-shadow": 2,//禁止catch子句参数与外部作用域变量同名
"no-class-assign": 2,//禁止给类赋值
"no-cond-assign": 2,//禁止在条件表达式中使用赋值语句
"no-console": 2,//禁止使用console
"no-const-assign": 2,//禁止修改const声明的变量
"no-constant-condition": 2,//禁止在条件中使用常量表达式 if(true) if(1)
"no-continue": 0,//禁止使用continue
"no-control-regex": 2,//禁止在正则表达式中使用控制字符
"no-debugger": 2,//禁止使用debugger
"no-delete-var": 2,//不能对var声明的变量使用delete操作符
"no-div-regex": 1,//不能使用看起来像除法的正则表达式/=foo/
"no-dupe-keys": 2,//在创建对象字面量时不允许键重复 {a:1,a:1}
"no-dupe-args": 2,//函数参数不能重复
"no-duplicate-case": 2,//switch中的case标签不能重复
"no-else-return": 2,//如果if语句里面有return,后面不能跟else语句
"no-empty": 2,//块语句中的内容不能为空
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值