https://mp.weixin.qq.com/s/JftKCEJeGncF2uI56mne_g
1、安装 EditorConfig 插件
该插件用于 统一编辑器的基本配置规范,例如代码缩进,换行等等
配置:在代码根目录新建 .editorconfig 文件,根据项目需要不同,添加对应的配置
## 打开文件时,EditorConfig 插件会在打开的文件的目录和每个父目录中查找名为 .editorconfig 的文件。## 如果到达根文件路径或找到具有 root=true 的 EditorConfig 文件,将停止对 .editorconfig 文件的搜索。## 如果 root=true 没有配置, EditorConfig 插件将会在工程之外寻找 .editorconfig 文件root = true## 使用规则匹配文件## * 匹配任何字符串,路径分隔符 (/) 除外## ** 匹配任意字符串## ? 匹配任何单个字符## [name] 匹配给定的字符串中的任何单个字符## [!name] 匹配不在给定字符串中的任何单个字符## {s1,s2,s3} 匹配任意给定的字符串## {num1..num2} 匹配num1和num2之间的任何整数,其中num1和num2可以是正数或负数## 如规则[*.{js}]只对 .js 文件生效。一般来说,我们配置 [*] 对所有文件生效。[*]## 缩进方式。 值可以是 tab 或者 spaceindent_style = space## 缩进大小。当设置为 tab 时,会取 tab_width 的值。indent_size = 4## 通常不需要设置。当 indent_size = tab 时,才会生效。tab_width = 4;## 设置为 lf、cr 或 crlf 以控制如何表示换行符。end_of_line = lf## 设置为 latin1、utf-8、utf-8-bom、utf-16be 或 utf-16le 来控制字符集。charset = utf-8## 设置为 true 以删除换行符之前的任何空格字符,设置为 false 以确保不会。trim_trailing_whitespace = true## 设置为 true 以确保文件在保存时以换行符结束,设置为 false 以确保不以换行符结束。inset_final_newline = true
2、安装 Eslint 插件及工具
由于 每个团队里的队员能力不一,无法保证所有人都一直按照特定规定执行,这个时候就需要
Eslint这么一个规范性的工具,替我们规范整个项目的代码,
Eslint的核心是通过对代码解析得到的AST(Abstract Syntax Tree,抽象语法树)进行模式匹配,定位不符合约定规范的代码。
配置:
本地安装
Eslint及 社区常用规范[eslint-config-airbnb](https://github.com/airbnb/javascript)(也可以是其他的规范,看团队所约定的方案)。npm i eslint eslint-config-airbnb -D
VSCode安装Eslint插件

-
2.1 eslintrc.js
普通用法 ```javascript { env: { /*
- 默认情况下,ESLint 支持 ES5 的语法。
- 启用对 es6 的语法和全局变量的支持
- https://cn.eslint.org/docs/user-guide/configuring#specifying-parser-options / es6: true, /
- 如果我们想让 ESLint 不仅能识别浏览器环境中的语法
- https://cn.eslint.org/docs/user-guide/configuring#specifying-environments
/
browser: true,
node: true,
},
/
- 在一些项目中,我们需要特殊的解析器去解析我们的代码,是否是符合规范,这时候我们可以使用 Parser
- https://cn.eslint.org/docs/user-guide/configuring#specifying-parser
/
parser: ‘babel-eslint’, / - 当访问当前源文件内未定义的变量时, ESLint 提示 no-undef
- 这个时候如果还希望使用这些变量或者全局变量的话,推荐你 在 ESLint 中定义这些全局变量
- https://cn.eslint.org/docs/user-guide/configuring#specifying-globals */ globals: { “windows”: true, “top”: true, },
} ```
- Vue 特殊配置
- React 特殊配置
