本文主要介绍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,//strong制驼峰命名
逗号-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,//strong制对象文本的缩写语法
' 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条件。
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。