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…
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) 自组装:
b) 使用推荐:
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 并且按照规则给出报告的代码检测工具