ESLint 支持几种格式的配置文件:
-
JavaScript - 使用
.eslintrc.js
然后输出一个配置对象。 -
YAML - 使用
.eslintrc.yaml
或.eslintrc.yml
去定义配置的结构。 -
JSON - 使用
.eslintrc.json
去定义配置的结构,ESLint 的 JSON 文件允许 JavaScript 风格的注释。 -
(弃用) - 使用
.eslintrc
,可以使 JSON 也可以是 YAML。 -
package.json - 在
package.json
里创建一个eslintConfig
属性,在那里定义你的配置。
如果同一个目录下有多个配置文件,ESLint 只会使用一个。优先级顺序如下:
.eslintrc.js
.eslintrc.yaml
.eslintrc.yml
.eslintrc.json
.eslintrc
package.json
示例代码(文件.eslintrc.js):
{ // 继承规则eslint:recommended // "extends": "eslint:recommended", /* 默认情况下,ESLint 会在所有父级目录里寻找配置文件 ESLint 一旦发现配置文件中有 "root": true,它就会停止在父级目录中寻找 */ "root": true, /* 指定你想启用的环境 browser - 浏览器环境中的全局变量。 node - Node.js 全局变量和 Node.js 作用域。 commonjs - CommonJS 全局变量和 CommonJS 作用域 (用于 Browserify/WebPack 打包的只在浏览器中运行的代码)。 shared-node-browser - Node.js 和 Browser 通用全局变量。 es6 - 启用除了 modules 以外的所有 ECMAScript 6 特性(该选项会自动设置 ecmaVersion 解析器选项为 6)。 ... [参考地址] http://eslint.cn/docs/user-guide/configuring#specifying-environments */ "env": { "browser": true, "node": true, "commonjs": true, "es6": true, "shared-node-browser": true }, /* 使用 globals 指出你要使用的全局变量,将变量设置为 true 将允许变量被重写,或 false 将不允许被重写 [参考地址] http://eslint.cn/docs/user-guide/configuring#specifying-globals */ "globals": { // "var1": true, // "var2": false }, /* ESLint 支持使用第三方插件。在使用插件之前,你必须使用 npm 安装它。 在配置文件里配置插件时,可以使用 plugins 关键字来存放插件名字的列表。插件名称可以省略 eslint-plugin- 前缀。 [参考地址] http://eslint.cn/docs/user-guide/configuring#configuring-plugins */ "plugins": [ // "plugin1", // "eslint-plugin-plugin2" ], /* 解析器, ESLint 默认使用esprima作为其解析器,你可以在配置文件中指定一个不同的解析器 [参考地址] http://eslint.cn/docs/user-guide/configuring#specifying-parser */ "parser": "babel-eslint", /* 规则 [规则配置参考] http://eslint.cn/docs/user-guide/configuring#configuring-rules [具体规则解释] http://eslint.cn/docs/rules/${rule-key} */ "rules": { // 要求或禁止使用分号代替 ASI "semi": ["error", "always"], // 禁止使用alert "no-alert": "error", // 禁止定义未使用的变量 "no-unused-vars": "error", // 不允许在 case 子句中使用词法声明 "no-case-declarations": "error", // 禁止修改类声明的变量 "no-class-assign": "error", // 要求在构造函数中有 super() 的调用 "constructor-super":"error", // 禁止与 -0 进行比较 "no-compare-neg-zero":"error", // 禁止条件表达式中出现赋值操作符 "no-cond-assign":"error", // 禁用 console "no-console":"error", // 禁止修改 const 声明的变量 "no-const-assign":"error", // 禁止在条件中使用常量表达式 "no-constant-condition":"error", // 禁止在正则表达式中使用控制字符 "no-control-regex":"error", // 禁用 debugger "no-debugger":"error", // 禁止删除变量 "no-delete-var":"error", // 禁止 function 定义中出现重名参数 "no-dupe-args":"error", // 禁止类成员中出现重复的名称 "no-dupe-class-members":"error", // 禁止对象字面量中出现重复的 key "no-dupe-keys":"error", // 禁止出现重复的 case 标签 "no-duplicate-case":"error", // 禁止出现空语句块 "no-empty":"error", // 禁止在正则表达式中使用空字符集 "no-empty-character-class":"error", // 禁止使用空解构模式 "no-empty-pattern":"error", // 禁止对 catch 子句的参数重新赋值 "no-ex-assign":"error", // 禁止不必要的布尔转换 "no-extra-boolean-cast":"error", // 禁止不必要的分号 "no-extra-semi":"error", // 禁止 case 语句落空 "no-fallthrough":"error", // 禁止对 function 声明重新赋值 "no-func-assign":"error", // 禁止对原生对象或只读的全局对象进行赋值 "no-global-assign":"error", // 禁止在嵌套的块中出现变量声明或 function 声明 "no-inner-declarations":"error", // 禁止 RegExp 构造函数中存在无效的正则表达式字符串 "no-invalid-regexp":"error", // 禁止在字符串和注释之外不规则的空白 "no-irregular-whitespace":"error", // 禁止空格和 tab 的混合缩进 "no-mixed-spaces-and-tabs":"error", // 禁止 Symbolnew 操作符和 new 一起使用 "no-new-symbol":"error", // 禁止把全局对象作为函数调用 "no-obj-calls":"error", // 禁用八进制字面量 "no-octal":"error", // 禁止多次声明同一变量 "no-redeclare":"error", // 禁止正则表达式字面量中出现多个空格 "no-regex-spaces":"error", // 禁止自我赋值 "no-self-assign":"error", // 禁用稀疏数组稀,疏数组包括很多空位置,经常是由于在数组字面量中使用多个逗号造成的,例如:var items = [,,]; "no-sparse-arrays":"error", // 禁止在构造函数中,在调用 super() 之前使用 this 或 super "no-this-before-super":"error", // 禁用未声明的变量,除非它们在 /*global */ 注释中被提到 "no-undef":"error", // 禁止出现令人困惑的多行表达式 "no-unexpected-multiline":"error", // 禁止在return、throw、continue 和 break 语句之后出现不可达代码 "no-unreachable":"error", // 禁止在 finally 语句块中出现控制流语句 "no-unsafe-finally":"error", // 禁止对关系运算符的左操作数使用否定操作符 "no-unsafe-negation":"error", // 禁用未使用过的标签 "no-unused-labels":"error", // 禁用不必要的转义字符 "no-useless-escape":"error", // 要求使用 let 或 const 而不是 var "no-var": "error", // 禁止出现多行空行 "no-multiple-empty-lines": ["error", { "max": 1}], // 禁用行尾空格 "no-trailing-spaces": "error", // 禁止使用多个空格 "no-multi-spaces": "error", // 要求 generator 函数内有 yield "require-yield":"error", // 要求使用 isNaN() 检查 NaN "use-isnan":"error", // 强制 typeof 表达式与有效的字符串进行比较 "valid-typeof":"error", // 强制使用一致的反勾号、双引号或单引号(单引号) "quotes": ["error", "single"], // 强制在逗号前后使用一致的空格 "comma-spacing": ["error", { "before": false, "after": true }], // 强制使用一致的缩进 "indent": ["error", 4], // 要求或禁止末尾逗号 "comma-dangle": ["error", "never"], // 强制在圆括号内使用一致的空格 "space-in-parens": ["error", "never"], // 要求操作符周围有空格 "space-infix-ops": "error", // 强制在对象字面量的属性中键和值之间使用一致的间距 "key-spacing": ["error", { "mode": "strict" }], // 禁用逗号操作符 // "no-sequences": "error", // 强制操作符使用一致的换行符 "operator-linebreak": ["error", "after"], // 要求或禁止在变量声明周围换行 "one-var-declaration-per-line": ["error", "initializations"], // 要求对象字面量属性名称用引号括起来 // "quote-props": ["error", "always"], // 更多其他规则,参考地址:http://eslint.cn/docs/rules/ } }
对于不需要做语法检测的可在.eslintignore文件中配置,示例如下:
bin/* src/js/libs/*.js
命令行用法示例(对src目录下的.js,.vue格式的文件做语法检测,配置文件.eslintrc.js ,忽略文件配置:.eslintignore, 然后将结果输出到eslint-report.json):
eslint --ext .js,.vue src/ --config .eslintrc.js --output-file ./eslint-report.json --ignore-path .eslintignore
加--fix 参数可自动修复部分语法规范问题
相关推荐
ESLint警告跟踪器,可帮助将规则引入旧代码库 关于 整理是捕获错误代码和实施最佳实践的有力方法。 也就是说,为现有项目设置规则可能很困难。 它会浮出水面,您必须先解决这些隐患,然后才能使用该规则。 相反,...
使用babel,eslint设置一个npm项目,现在使用emacs对其进行编辑。 先决条件 EMACS 24或更高版本。 npm 吉特 设置 资料库 克隆此存储库。 删除.git目录以摆脱以前的历史记录。 重新初始化git。 git clone ...
对ESLint的特定掉毛规则做出React。 安装 使用npm或Yarn安装: npm : npm install @pobedit/eslint-config --save 纱线: yarn add @pobedit/eslint-config 基本用法 将@ pobedit / eslint-config添加到....
Actool的ESLint规则可以验证代码/注释的真实性和相关性。 :collision: 控制 :timer_clock: 控制 :radioactive: 控制用法要求:确保您的存储库具有git历史记录 :dizzy: 请参阅我们的以快速了解功能和概念如果您尚未为...
每条规则均已记录,说明理由,并在文件夹中包含示例。 如果您觉得规则有误,请阅读此文件,或将其他文件转发给它! 安装 安装此配置包和ESLint: $ npm install --save-dev eslint-config-strict 如果您使用的是...
TODO:记录此配置中使用的规则,duh。入门安装套件使用npm: npm i -D @faustt/eslint-config或使用纱线: yarn add -D @faustt/eslint-config安装所有对等依赖项使用npm: npm i -D @typescript-eslint/eslint-...
Rockpack是一个用于通过服务器端渲染,捆绑,整理,测试创建React Application的简单解决方案。 Rockpack的主要目标是... Rockpack支持大多数webpack最佳实践配置,eslint规则,笑话,打字稿,即使在大型项目中也能很
有一些模块比如语法规则和代码风格的检查工具eslint在开发环境可以用来统一大家的代码风格,但是在生产环境我们不需要安装它。这个时候我们可以通过npm install eslint –save-dev在开发环境去安装这个模块,在...
使用eslint + Airbnb棉绒规则棉绒 使用Winston和Morgan进行日志记录 猫鼬的分页插件 使用Joi请求数据验证 角色和权限 针对xss和查询注入清理请求数据 使用头盔设置安全HTTP标头 使用Jest进行单元和
我们包含一个ESLint配置文件,可通过在文本编辑器/ IDE中下载ESLint扩展名来确保该文件运行代码格式。 在每一步中,最佳的“拉取请求”都将合并到存储库中。 您必须克隆存储库,并以先前步骤已接受的代码为基础。 ...
将〜/ .npmrc配置为自动保存软件包使用调试程序包记录 使用morgan包获取快速的中间件访问日志 下载引导程序并复制到项目中,而不是使用CDN 还下载了jquery并复制到项目 粉笔包,用于突出显示日志消息 使用eslint来...
模板功能使用Winston软件包进行日志系统每隔24小时(日志和错误)文件自动将上坡记录到您的AWS桶中。 用于安全标头的Usig Helment。 Prevet Xss攻击。 防止HTTP参数污染。 您可以在特定时间内限制IP请求的数量。 ...
第三轮练习3.1-3.22的解决方案该演示应用程序在上运行。 可以通过/ api端点访问该API。 例如,要获取数据库中的所有记录: 。 注意:eslint已配置为允许所有漂亮的规则。 为什么? 因为Prettier使生活变得更加轻松。