本文主要介绍Eslint配置和规则的详细说明。边肖认为这很好。现在分享给大家,给大家一个参考。来和边肖一起看看吧。
本文介绍了Eslint配置和规则的详细解释,分享给大家,如下:
中国官方网站
安装
可以全局安装,也可以在项目下安装。
以下是项目中的安装示例。您只需要在package.json中添加以下配置并安装它:
“埃斯林特”:“^4.11.0”
配置
配置有两种方式,但推荐使用文件配置,文件配置独立,易于维护。
如何使用文件配置:在项目的根目录下,创建一个名为。eslintrc,并在这个文件中添加一些检查规则。
文件配置模式
Env:你的脚本将在什么环境下运行?
环境可以预置其他环境的全局变量,如brower、node环境变量、es6环境变量、mocha环境变量等。
环境:{
browser: true,
commonjs: true,
es6 :正确
},
全局变量:附加全局变量
全局:{
是的,
wx:没错
},
规则:打开规则并报告错误级别。
规则有三种错误级别:
0“关闭”:关闭规则。
1 warn :打开规则并作为警告(它不会导致检查失败)。
或者‘error’:打开规则并将其视为错误(退出代码为1,检查失败)。
参数描述:
参数1:误差水平
2:加工方法
配置代码注释方式
有时我们可能想忽略代码中对eslint的某种检查,或者添加某种特定的检查。这时,我们可以用以下方法:
示例:
忽略no-undef检查
/* eslint-disable no-undef */
忽略无新支票
/* eslint-禁用no-new */
设置检查
/* eslint eq eq:off */
/* eslint eq eq:0 */
Eslint检查指令
并检查和修理。
eslint * - fix
检查指定的文件。
eslint app.js - fix
WebStorm上的使用
首选项-语言框架-JavaScript-代码质量工具-ESLINT-启用(检查)-应用-确定
规则描述
No-alert: 0,//禁止使用警报确认提示。
“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,//控制台被禁止。
No-const-assign: 2,//禁止修改由const声明的变量
No-constant-condition: 2,//禁止在条件中使用常量表达式if(true) if(1)。
No-continue: 0,//禁止继续。
No-control-regex: 2,//禁止在正则表达式中使用控制字符
No-debugger: 2,//禁止调试器。
No-delete-var: 2,//不能对var声明的变量使用delete运算符。
No-div-regex: 1,//不能使用类似division /=foo/的正则表达式
No-dupe-keys: 2,//创建对象文本{a:1,a:1}时不允许重复的键
No-dupe-args: 2,//函数参数不能重复
“no-duplicate-case”:2,//开关中的case标签不能重复。
No-else-return: 2,//如果if语句中有return,它后面不能跟else语句。
No-empty: 2,block语句中的内容不能为空。
No-empty-character-class: 2,//正则表达式中的[]内容不能为空。
No-empty-label: 2,//禁止使用空标签
No-eq-null: 2,//禁止对null使用==或!=运算符
No-eval: 1,//禁止eval。
No-ex-assign: 2,//禁止给catch语句中的异常参数赋值。
No-extend-native: 2,//禁止扩展本机对象
No-extra-bind: 2,//禁止不必要的函数绑定。
No-extra-boolean-cast: 2,//禁止不必要的布尔转换
No-extra-parens: 2,//禁止不必要的括号
No-extra-semi: 2,//没有多余的冒号
No-fallthrough: 1,//禁止开关穿透
No-floating-decimal: 2,//浮点数中禁止省略0 .5 3。
No-func-assign: 2,//禁止重复函数声明
no-Implicit-compression :1,//禁止隐式转换
No-warning-comments: [1,{terms: [todo , fixme , location: start}],//不能有警告注释。
No-with: 2,//禁用with
Array-bracket-spacing: [2, never],//在非空数组中允许额外的空格吗?
Arrow-parens: 0,//箭头函数用括号括起来。
Arrow-spacing: 0,//=的前后括号
“accessor-pairs”:0,//在对象中使用getter/setter
“Block-scoped-var”:块语句中使用了0,//var
大括号样式:[1, 1tbs],//大括号样式
Callback-return: 1,//避免多次调用回调或其他东西
Camelcase: 2,//h3制驼峰命名
逗号-dangle: [2, never],//在对象的文本项的末尾不能有逗号。
逗号分隔:0,逗号前后的空格//逗号
逗号样式:[2, last],//逗号样式,换行时位于行首或行尾。
复杂度:[0,11],//循环复杂度
Computed-property-spacing: [0, never],//是否允许计算键名什么的
Consistent-return: 0,//return: 0,//return后是否允许省略?
一致-这个:[2,那个],//这个别名
“constructor-super”:0,//非派生类不能调用super,派生类必须调用super。
Curly: [2, all],//在if(){}中必须使用{}
Default-case: 2,//switch语句结尾必须有Default
Dot-location: 0,//对象访问器的位置,在换行时位于行首或行尾。
点符号:[0,{allowkeywords: true}],//避免不必要的方括号
Eol-last: 0,//文件以一个换行符结束。
EQEQEQEQ: 2,//您必须使用同余
“func-names”:0,//函数表达式必须有名称
Func-style: [0, declaration],//函数样式,规定只能使用函数声明/函数表达式。
Generator-star-spacing: 0,在//generator函数*前后的空格
Guard-for-in: 0,//for-in循环将由if语句筛选。
“handle-callback-err”:0,//Nodejs处理错误
Id-length: 0,//变数名称长度
Indent: [2,4],//缩进样式
“Init-declarations”:声明时必须给定0,//初始值。
Key-spacing: [0,{beforecolon: false, aftercolon: true}],//对象的文字量中冒号前后的空格
Lines-around-comment: 0,//行前/行后的注释
Max-depth: [0,4],//嵌套块深度
Max-len: [0,80,4],//字符串的最大长度
Max-nested-callbacks: [0,2],//回调嵌套深度
Max-params: [0,3],//函数最多只能有3个参数。
Max-statements: [0,10],//函数中最多有几个语句。
New-cap: 2,//函数名的第一个大写行必须用New方法调用,第一个小写行必须不用new方法调用。
New-parens: 2,当//new时必须添加括号
Newline-after-var: 2,//变量声明后需要空行吗?
Object-curly-spacing: [0, never],//大括号中是否允许不必要的空格?
object-shorted :0,//h3制对象文本的缩写语法
One-var: 1,//连续声明
Operator-assignment: [0, always],//赋值运算符=-=something
Operator-linebreak: [2, after],//换行时运算符是在行尾还是行首?
Padded-blocks: 0,//是否希望block语句中的第一行末尾有一个空行?
prefere-Const :0,//Const是首选的
prefere-spread :0,//扩展操作是首选的。
prefere-Reflect :0,//反射的方法是首选的。
引号:[1, single],//引号类型`````
Quote-props:[2, always],//对象字面量中的属性名是否强制加双引号?
Radix: 2,//parseInt必须指定第二个参数
“id-match”:0,//命名检测
“require-yield”:0,//生成器函数必须具有yield
Semi: [2, always],//语句强制分号结束。
半间距:[0,{before: false, after: true}],//分号前后的空格
Sort-vars: 0,//在声明变量时对它们进行排序
关键字后有空格:[0,总是],//关键字后是否要有空格?
blocks前的空格:[0, always],//不以新行开始的块{前面是否要有空格?
space-before-function-paren :[0, always],//定义函数时,括号前是否要有一个空格?
Space-in-parens: [0, never],//括号中是否需要空格?
Space-infix-ops: 0,//中缀运算符周围有空格吗?
Space-return-throw-case: 2,要在//return throw case后面加一个空格吗?
Space-unary-ops: [0,{words: true, non words: false}],//是否要在一元运算符的前后添加一个空格?
Spaced-comment: 0,//在注释样式中需要空格还是其他什么?
Strict: 2,//使用严格模式
Use-isNaN: 2,//禁止在比较中使用NaN,只能使用isNaN()
Valid-jsdoc: 0,//jsdoc规则
“valid-typeof”:2,//必须使用type of的有效值。
Vars-on-top: 2,//var必须放在作用域的顶部
wrap-life :[2, inside],//立即执行函数表达式的括号样式
“Wrap-regex”:正则表达式的0,//文本用括号括起来。
Yoda: [2, never]//禁止Yoda条件。
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。