tsconfig.json 如果一个目录下存在一个 tsconfig.json 文件,那么它意味着这个目录是 TypeScript 项目的根目录。tsconfig.json 文件中指定了用来编译这个项目的根文件和编译选现
- compilerOptions 可以忽略,如果忽略 会使用默认值
- outDir 指定的目录下的文件永远会被编译器排除,除非使用 files 包含
- typeRoots 默认所有可见的 @types 包会在编译过程中被包含进来,如果指定了这个配置 只有他下面的包才会被包含进来
- files 指定一个包含相对或绝对文件路径的列表,优先级最高
- include 需要编译的文件 优先级最低
- exclude 不需要编译的文件 优先级中等
- extends 继承配置 继承的文件会覆盖源文件
eslintESLint 是在 ECMAScript/JavaScript 代码中识别和报告模式匹配的工具,它的目标是保证代码的一致性和避免错误
- parser 解析器(eslint 默认使用 Espree 作为其解析器)
- parserOptions 解析器配置选项
- env 和 globals 环境和全局变量
- rules 规则(off 或 0,关闭规则;warn 或 1,开启规则;error 或 2,开启规则,并会出错阻止代码运行)
- semi 是否使用分号(当前不使用 错误级别 1)
- no-trailing-spaces 禁止行尾空格
- array-bracket-spacing 强制数组括号内的空格一致
- operator-linebreak 强制操作符使用一致的换行符
- function-paren-newline 强制函数括号内使用一致的换行
- no-magic-numbers 禁止使用魔术数字
- ignoreArrayIndexes 数字可否作为数组的索引
- block-spacing 禁止或强制在代码块中开括号前和闭括号后有空格
- brace-style 大括号风格要求
- no-multiple-empty-lines 最大换行数
- object-curly-spacing 强制在花括号中使用一致的空格
- comma-spacing 强制在逗号周围使用空格
- before false 禁止逗号前使用空格
- after true 要求逗号后使用一个或多个空格
- keyword-spacing 强制关键字周围空格的一致性
- before true (默认) 要求在关键字之前至少有一个空格
- after true (默认) 要求在关键字之后至少有一个空格
- comma-style 逗号风格
- last (默认) 要求逗号放在数组元素、对象属性或变量声明之后,且在同一行
- no-multi-spaces 禁止出现多个空格
- plugins 插件(插件可以提供处理器 配置在 processor 中 通过 pluginName/parserName)
- overrides 为特定类型的文件指定处理器,请使用 overrides 和 processor 的组合
- extends 拓展 一个配置文件可以被基础配置中的已启用的规则继承
- settings 提供给每一个将被执行的规则
- root 如果为 true 则项目中的 eslint 规则 在根目录中找
"peerDependencies": {
"react": ">=16.9.0",
"react-dom": ">=16.9.0"
}