editorconfig

跨编辑器/IDE 规范编码风格,使用 yaml 风格,配置文件为 .editorconfig

官网

注意在 VSCode 中需要下载一个插件,用于支持 editorconfigCore

一个规范的 .editorconfig 通常是这样的:

root = true

[*]
charset = utf-8

h7ml
  • engineering
  • editorconfig
小于 1 分钟
eslintrc

用于配置 ESLint 规则的配置文件

通常的表现形式有:

  • package.json 中配置 eslintConfig 字段
  • 使用 jsonjavascriptyaml 编写的 .eslintrc.* 文件

有很多信息可以配置:

  • Environments - 指定脚本的运行环境。每种环境都有一组特定的预定义全局变量。
  • Globals - 脚本在执行期间访问的额外的全局变量。

h7ml
  • engineering
  • eslint
小于 1 分钟
gitattributes

当执行 git 动作时,.gitattributes 文件允许你指定由 git 使用的文件和路径的属性,例如:git commit 等。

比较常用的有 eol(end of line) 属性,主要原因在于 Windows 和 Unix like 的文件结尾行不同

  • windows 是 CRLF(Carriage Return Line Feed) 回车换行
  • 但在 unix like 系统中,使用 LF(Line Feed) 换行

h7ml
  • engineering
  • git
小于 1 分钟
gitignore

配置此文件可以让 git 对某些特定文件不追踪变化

gitignore 语法规则

  • 空行不匹配任何文件,可以作为分隔符来提高可读性
  • # 为开头的行作为注释,若真的需要 #,则需要使用 \#
  • / 作为目录分割
  • ! 用于排除已忽略目录中的某个子文件/目录(即再次追踪)
  • 如果在某个模式的开头或者中间(或者两者都有)存在 /,那么就是 gitignore 文件所在的根目录

h7ml
  • engineering
  • git
大约 1 分钟
license

开源协议文件

目前使用较多的开源协议为 MIT,同时该协议的最为自由


h7ml
  • engineering
  • license
小于 1 分钟
package-lock.json

这个文件用于追踪每个软件包的确切版本,我们知道在 packages.json 中的依赖版本采用 semver 的形式来存放,但是在安装时会根据此语义化版本来安装最新版:



那么实际安装会是 `0.13.xx` 这里的 xx 是最新版,但是不会安装 `0.14.xx`

这种看似是好的,但是不同的小版本之间可能会存在差异,那么不同开发者协作就会出现问题。

那么 package-lock.json 就是为了解决这个问题,它细化了每个依赖的版本,当安装依赖时,会根据这个 lock 文件安装具体版本的依赖。


h7ml
  • engineering
  • package.json
小于 1 分钟
package.json

npm 规范的项目描述文件

文档


h7ml
  • engineering
  • package.json
小于 1 分钟
prettierrc

prettier 的配置文件

通常的表现形式有:

  • package.json 中配置 prettier 字段
  • 用 JSON 或者 yaml 写 .prettierrc 文件
  • 一个 .prettierrc.json.prettierrc.yaml.prettierrc.yml.prettierrc.json5 文件
  • 一个 .prettierrc.js.prettierrc.cjsprettier.config.jsprettier.config.cjs 文件用 module.exports 导出

h7ml
  • engineering
  • prettierrc
小于 1 分钟
tsconfig.json

Typescript 配置文件

通过该配置文件可以指定 ts 编译的版本,编译的配置选项开关等

文档


h7ml
  • engineering
  • tsconfig
小于 1 分钟