Eslint 文章汇总:

343 阅读3分钟

eslint的工作范围:

1、了解配置;

2、在项目中的应用;

3、结合prettier处理掉现有项目中的lint报错

Eslint 文章汇总:

1、  基础: zhuanlan.zhihu.com/p/80574300

2、  eslint 与 prettier 实现代码规范自动格式化 : www.cnblogs.com/ssaylo/p/12…

3、解析器esprima:esprima.org/demo/parse.…

4、抽象语法树AST:www.e-learn.cn/topic/35736…

5、babel解析: www.e-learn.cn/topic/39757…

        segmentfault.com/a/119000001…

6、在线解析器: astexplorer.net/

7、eslint 规则和插件开发:blog.csdn.net/azl39798585…

8、VSCode合理配置ESLint+Prettier:juejin.cn/post/689932…

9、写个ESLint 插件以及了解ESLint的运行原理:www.jianshu.com/p/e6ee3f64e… (重重重)

10、ESLint 工作原理探讨: zhuanlan.zhihu.com/p/53680918

11、eslint 与 prettier 实现代码规范自动格式化: www.cnblogs.com/ssaylo/p/12…

12、eslint规则:eslint.org/docs/rules/

13、eslint官网:eslint.org/docs/user-g…

14、知乎: ESLint 工作原理探讨: zhuanlan.zhihu.com/p/53680918

15、lint-staged 使用教程: www.cnblogs.com/jiaoshou/p/…

16、使用husky + lint-staged助力团队编码规范:blog.csdn.net/csdn_yudong…

eslint/prettier关键点总结:

1、  prettier代码格式化

2、  eslint 设置格式化规则和提示

3、  ESLint 的所有规则都被设计成可插入的,默认规则与其他的插件并没有什么区别,总结下来也是: 可配置、插件式

4、  ESLint 和 TypeScript 都依赖于将您的源代码转换为一种称为 AST 的数据格式,但是Eslint和TypeScript彼此使用不用的AST

5、  esprima解析器解析出来的格式有三种: tree, syntax, tokens:

源码:var answer = 6 * 7;

a)   Tree:

b)   Syntax:

c)  Tokens:

6、  eslint和prettier的默认配置会被项目下与之对应的配置文件所覆盖(项目中 eslint 和 prettier 的配置文件会覆盖掉 vscode 插件的默认配置),项目根目录下的.vscode文件夹下的配置级别高于vscode自身的settin.json,所以他会优先选择项目根目录下的.vscode文件夹下的setting.json。

7、  是启用prettier后,vscode默认就把eslint给禁用

8、  Eslint的核心能力是,对代码的静态分析检查

9、  Eslint的插件本质:是一种语法类型(vue\react\js\ts)、项目集成等的大量规则的集合,这些集合可以同时引入

10、 Usage: 用法,惯用法,使用,利用率

11、 Typescript-eslint 的使用方法:

a)  自组装:

image.png

b)  使用推荐:

image.png

12、  extents 中的每一项内容最终都指向了一个和 ESLint 本身配置规则相同的对象。

13、 一条 rule 就是一个 node 模块,其主要由 meta 和 create 两部分组成

14、核心是监听选择器

15、有一些规则是可以通过--fix处理掉的,有一些则是不可以的,比如说多余的,未被引用的变量和方法,这些是涉及到语法相关的,需要程序员自己去处理 16、  lint-staged 是一个在 git 暂存文件上(也就是被 git add 的文件)运行已配置的 linter(或其他)任务。lint-staged 总是将所有暂存文件的列表传递给任务。

 

其他

可以从基础配置中继承已启用的规则

extends 属性值可以是:

(1)、在配置中指定的一个字符串

(2)、字符串数组:每个配置继承它前面的配置

ESLint 递归地进行扩展配置,所以一个基础的配置也可以有一个 extends 属性。 extends 里面可以引入 共享配置包,可以引入 插件 是一个代码格式化工具。能够按照我们的规则,将我们的代码格式化。

Prettier 主要有以下优点:

可配置化

支持多种语言

集成多数的编辑器

简洁的配置项

Prettier 会去掉你代码里的所有样式风格,然后用统一固定的格式重新输出。

lint-staged,

pretty-quick

pre-commit

precise-commits

lint-staged是一个在git暂存文件上运行linters的工具,

ESLint 是一个用来识别 ECMAScript/JavaScript 并且按照规则给出报告的代码检测工具