eslint的使用和配置

  什么是eslint

    ESLint 是在 ECMAScript/JavaScript 代码中识别和报告模式匹配的工具,它的目标是保证代码的一致性和避免错误。在许多方面,它和 JSLint、JSHint 相似,除了少数的例外:   

    1. ESLint 使用 Espree 解析 JavaScript。

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

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

  使用方式

    Configuration Comments - 使用 JavaScript 注释把配置信息直接嵌入到一个文件。

    Configuration Files - 使用 JavaScript、JSON 或者 YAML 文件为整个目录和它的子目录指定配置信息。可以用 .eslintrc.* 文件或者在 package.json文件里的 eslintConfig 字段这两种方式进行配置,ESLint 会查找和自动读取它们,再者,你可以在命令行指定一个配置文件。

  错误级别

    三个错误级别可以允许你细粒度的控制 ESLint 是如何应用规则。①"off" 或者 0 - 关闭规则,②"warn" 或者 1 - 将规则视为一个警告(不会影响退出码),③"error" 或者 2 - 将规则视为一个错误 (退出码为1)。

  使用和总结

    使用framework7 + react + react-redux + webpack 做的手机APP,eslint的配置如下:

 {
"parser": "babel-eslint", //解析器 对Babel解析器的包装使其与 ESLint 兼容
"plugins": [ //适用于特定 ESLint 无法识别的 JSX 语法(插件:eslint-plugin-react)
"react"
],
"parserOptions": { //想要支持的JavaScript 语言选项
"ecmaVersion": 6, //es6语法
"sourceType": "module", //设置为 "script" (默认) 或 "module"(如果你的代码是 ECMAScript 模块)。
"ecmaFeatures": { //对象,表示你想使用的额外的语言特性
"jsx": true //启用 JSX
}
},
//预定义的全局变量
"env": {
"browser": true,
"es6": true,
"node": true
},
//项目中要使用哪些规则
"rules": {
"comma-dangle": 1, //对象字面量项尾不能有逗号
"quotes": [ 1, "single" ], //引号类型
"no-undef": 1, //不能有未定义的变量
"global-strict": 0, //
"no-extra-semi": 1, //禁止多余的冒号
"no-underscore-dangle": 0, //标识符不能以_开头或结尾
"no-console": 1, //禁止使用console
"no-unused-vars": 1, //不能有声明后未被使用的变量或参数
"no-trailing-spaces": [1, { "skipBlankLines": true }], //一行结束后面不要有空格
"no-unreachable": 1, //不能有无法执行的代码
"no-alert": 0, //禁止使用alert confirm prompt
"react/jsx-uses-react": 1, //下面两个是使用eslint-plugin-react的要求
"react/jsx-uses-vars": 1
}
}

  如果一个规则有额外的选项,你可以使用数组字面量指定它们,如quotes: ["error", "double"]。配置很多,就不一一列出,可以看下这篇规则说明:Eslint规则说明

  中文官网

eslint的使用和配置的更多相关文章

  1. React-native ESLint & Prettier & Pre-commit Hook配置

    目录 前言 一 eslint 1.1. 局部安装eslint 1.2 初始化配置文件 1.3 安装步骤 1.3.1 ESLint 风格 选Use a popular style guide 1.3.2 ...

  2. Eslint相关知识和配置大全

    ESLint最初是由Nicholas C. Zakas 于2013年6月创建的开源项目.它的目标是提供一个插件化的javascript代码检测工具. 代码检查是一种静态的分析,常用于寻找有问题的模式或 ...

  3. vscode中eslint airbnb的简单配置

    vscode可以直接在扩展中下载安装eslint,然后,还不能用,需要继续如下步骤: 1.npm install -g eslint 安装完后输入"eslint",有东西出来说明安 ...

  4. 关于eslint的使用与配置,以及prettier的使用

    eslint官网:https://eslint.bootcss.com/docs/user-guide/getting-started eslint配置:http://eslint.cn/docs/r ...

  5. eslint 配置及规则说明

    中文官方网站 安装 可以全局安装,也可以在项目下面安装. 如下是在项目中安装示例,只需要在 package.json 中添加如下配置,并进行安装: “eslint”: “^4.11.0” 配置 配置方 ...

  6. Eslint 配置及规则说明(报错)

    https://blog.csdn.net/violetjack0808/article/details/72620859 https://blog.csdn.net/hsl0530hsl/artic ...

  7. eslint 的配置

    安装 可以全局安装,也可以在项目下面安装. 如下是在项目中安装示例,只需要在 package.json 中添加如下配置,并进行安装: >"eslint": "^4. ...

  8. webpack 配置react脚手架(三):eslint 及优化

    首先谨记 eslint的官网:  http://eslint.cn/ 1 安装eslint  npm i eslint -D 2.在根目录下新建文件 .eslintrc { "extends ...

  9. 手模手配置Eslint,看懂脚手架中的Eslint

    使用ESLint前:eslint是干嘛的,我这样写有什么问题,怎么还报错了,太麻烦想去掉这个插件,脚手架中关于eslint文件里的配置是什么意思?怎么设置配置项和规则达到自己想要的检测效果呢?怎么集成 ...

随机推荐

  1. 网络流24题 最小路径覆盖(DCOJ8002)

    题目描述 给定有向图 G=(V,E) G = (V, E)G=(V,E).设 P PP 是 G GG 的一个简单路(顶点不相交)的集合.如果 V VV 中每个顶点恰好在 P PP 的一条路上,则称 P ...

  2. hdu3549 最大流

    #include<stdio.h> #include<string.h> #include<queue> #define MAXN 1010 using names ...

  3. ANSI编码方式转化为UTF-8方式

    说明: 记事本txt有四种编码方式,分别为:UTF-8.ANSI.Unicode和Unicode big endian,当进行写操作,创建的txt编码格式,与写入汉字的编码方式相同:如果写入的汉字是不 ...

  4. 2019-10-21-WPF-多个-StylusPlugIn-的事件触发顺序

    title author date CreateTime categories WPF 多个 StylusPlugIn 的事件触发顺序 lindexi 2019-10-21 08:33:15 +080 ...

  5. @游记@ CSP2019

    目录 @day -??@ @day -1@ @day 0@ @day 1@ @day 2@ @day ??@ @day ??+1@ @day -??@ 和 yhn 学长在校外偶遇. 聊了一些.他说现在 ...

  6. LeetCode114 Flatten Binary Tree to Linked List

    Given a binary tree, flatten it to a linked list in-place. (Medium) For example,Given 1 / \ 2 5 / \ ...

  7. 关于IOS 微信浏览器 点击输入框自动放大问题

    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0& ...

  8. Python基础:14生成器

    yield表达式只用于定义生成器函数,且只能存在于函数的定义体中.只要一个函数内部使用了yield表达式,则该函数就成为生成器函数. 当调用生成器函数时,它返回一个称为生成器的迭代器.然后该生成器控制 ...

  9. @NOIP2018 - D2T3@ 保卫王国

    目录 @题目描述@ @题解@ @代码@ @题目描述@ Z 国有n座城市,n−1 条双向道路,每条双向道路连接两座城市,且任意两座城市 都能通过若干条道路相互到达. Z 国的国防部长小 Z 要在城市中驻 ...

  10. 《C语言深度解剖》学习笔记之符号

    第2章 符号 1.注释符号 编译器会将注释剔除,用空格代替原来的注释 y=x /* p; 编译器提示出错的原因:实际上,编译器会把“/*”当作一段注释的开始,直到出现“*/”为止. [规则 2-1]注 ...