跳至主要內容
editorconfig

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

官网

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

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

root = true

[*] charset = utf-8 indent_size = 2 indent_style = space end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true

[*.md] insert_final_newline = false trim_trailing_whitespace = false

h7mlengineeringeditorconfig小于 1 分钟
eslintrc

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

通常的表现形式有:

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

有很多信息可以配置:

  • Environments - 指定脚本的运行环境。每种环境都有一组特定的预定义全局变量。
  • Globals - 脚本在执行期间访问的额外的全局变量。
  • Rules - 启用的规则及其各自的错误级别。

h7mlengineeringeslint大约 3 分钟
gitattributes

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

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

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

由于换行符不同,不同操作平台之间的开发者很容易导致 Git 提交的文件不一致(可能会从 LF 改为 CRLF 或者反之),所以 gitattributes 就可以排上用场了:


h7mlengineeringgit小于 1 分钟
gitignore

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

gitignore 语法规则

  • 空行不匹配任何文件,可以作为分隔符来提高可读性
  • # 为开头的行作为注释,若真的需要 #,则需要使用 \#
  • / 作为目录分割
  • ! 用于排除已忽略目录中的某个子文件/目录(即再次追踪)
  • 如果在某个模式的开头或者中间(或者两者都有)存在 /,那么就是 gitignore 文件所在的根目录
  • 如果末尾存在 /,那么只匹配目录,不再匹配文件
  • * 匹配除了 / 之外的任何,? 匹配除 / 之外的一个字符,范围符号例如 [a-zA-Z] 匹配范围中的一个字符
  • ** 的意义就比较多了
    • 例如 **/foo 匹配所有地方的 foo 文件或文件夹,与 foo 的模式相同
    • **/foo/bar 匹配任何地方的 foo 目录下的 bar 文件或文件夹
    • 后面的 /** 则匹配所有的子目录或者子文件,例如 a/** 匹配 a 下的所有目录和文件
    • 中间的 ** 则表示无限深度的子目录,例如 a/**/b 匹配 a 下的所有子目录下的 b 文件或文件夹

h7mlengineeringgit大约 1 分钟
license

开源协议文件

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


h7mlengineeringlicense小于 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 导出
  • 一个 .prettierrc.toml 文件

h7mlengineeringprettierrc小于 1 分钟
tsconfig.json

Typescript 配置文件

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

文档


h7mlengineeringtsconfig小于 1 分钟