eslint node
ESLint是一个开放源代码JavaScript整理工具,可帮助您克服开发人员错误,因为JavaScript是一种松散类型的语言。 在Javascript社区中,有很多种选择(例如JSHint和JSCS)用于代码插入,并且本文不建议您不能使用它们。
ESLint设计为可完全插入所有规则。 这是它诞生的主要原因之一。 它允许开发人员创建自己的起毛规则。 ESLint官方指南中提供的每个规则都是独立规则,开发人员可以随时决定是否使用特定规则。
注意 :必须安装Node.js才能通过其程序包管理器npm访问ESLint。
对于本地安装到项目目录:
npm install eslint --save-dev
在您的操作系统中进行全局安装:
npm install eslint -g
现在,您可以通过终端中的eslint
命令使用eslint
。
配置它以设置.eslintrc
JSON文件的最简单方法,其中可以描述所有插入规则。
.eslintrc
的示例:
{"env" : {
"node" : 1 ,
"browser" : 1
},
"globals" : {
"exampleGlobalVariable" : true
},
"rules" : {
"eqeqeq" : 1
},
"plugins" : [
]
}
如果您是全局安装的eslint,也可以使用以下命令生成配置文件
eslint --init
在其他情况下,如果已将其本地安装到项目中,则需要输入终端:
./node_modules/.bin/eslint --init
在这两种情况下,系统都会提示您一些基本问题以生成.eslintrc
文件。
在上述提示后生成的文件示例:
{"env" : {
"browser" : true ,
"commonjs" : true
},
"extends" : "eslint:recommended" ,
"rules" : {
"indent" : [
"error" ,
"tab"
],
"linebreak-style" : [
"error" ,
"unix"
],
"quotes" : [
"error" ,
"single"
],
"semi" : [
"error" ,
"never"
]
}
}
有关配置的详细信息,请阅读此处 。
ESLint中的规则是单独添加的。 默认情况下不强制执行任何规则。 您必须明确指定规则,然后才可以将其启用。
您可以在此处的官方文档中找到规则的完整列表
确定要包括的规则后,必须在此处设置错误级别。 每个错误级别可以定义如下:
0
关闭规则 1
开启规则作为警告 2
将规则作为错误打开 错误和警告之间的区别是eslint完成时将具有退出代码。 如果发现任何错误,则eslint将以1退出代码退出,否则将以0退出。如果您在构建步骤中进行lint,则可以控制哪些规则应“破坏构建”以及应考虑哪些规则作为警告。
在此处详细了解如何配置规则 。
您正在编写的代码可能适用于特定环境,例如,您可能正在使用Express Framework(Sinatra)在Node.js应用程序中编写REST API,并且该应用程序的前端将在AngularJS中构建。 即使客户端和服务器位于一个被视为项目根目录的项目目录下,两个不同的项目,两个不同的环境以及两者都可以在一个文件中具有单独的eslint配置。
怎么做? 通过在.eslintrc
的“ env
”部分.eslintrc
环境id设置为true。
林亭
ESLint带有命令行界面(CLI),用于整理文件或目录。
elsint file.js
eslint dir/
生成的输出将按文件分组,并指定以下line:column
号,警告/错误,错误原因以及每个失败的规则名称。
将ESLint与首选的编码样式一起使用
ESLint个人不推广任何编码风格。 您可以设置.eslintrc文件以使用所需的样式规则来实施编码样式。
您还可以将ESLint与样式指南(例如JavaScript Standard Style)一起使用 。 您必须为此使用额外的插件。 完整的指南可以在这里找到( https://github.com/feross/eslint-config-standard )。
要将插件添加到.eslintrc
:
一些流行库的插件: Angular | React
我发现另一个有用的插件是每个var一个变量,仅用于维护大型/开源项目中的代码一致性。
感谢您的阅读。 如果您觉得这篇文章很有用,请点击 按钮,使该故事可以吸引更多的 读者 。 如果您想谈论它,请在 Twitter上 ping我 要么 查看我有关Node.js的其他文章 。
是否想收到更多类似的文章? 在这里 订阅我 。 有时,我会将“从未见过的”内容发送给订户
翻译自: https://hackernoon.com/how-to-use-eslint-in-node-js-applications-cc4b2298ce55
eslint node