ignore
.gitignore,.npmignore,哪些该ignore? 哪些不该?
gitignore的原则
忽略所有不需要git追踪的文件:
- 每次运行时通过脚本生成的文件
- 构建、安装过程中产生的临时文件
- 文档或demo中的图片、视频等资源
- 第三方的vendor
- 仅对自己的开发环境生效的配置文件
node_modules/ # 必ignore
coverage/ # 生成的测试报告
server/logs/ # 生成的日志文件
dist/ # 打包构建出的dist文件
test/mock/ # 测试时下载的mock数据
.Ds_store # Mac电脑生成的元数据文件
# npm/yarn 日志
npm-debug.log
npm-error.log
yarn-error.log
yarn-debug.log
package-lock.json # 我们用yarn.lock,故忽略
# ide生成的配置
idea/
stylelintcache # cache文件
npmignore的原则
忽略所有对使用者无关的文件:
- 忽略所有只有scripts脚本才能使用的配置
- 忽略.git
- 忽略node_modules
- 只保留用户使用所需的最少文件
.git/ // git历史
node_modules/ // 安装后会重新生成,不需要了
.Ds_store // Mac电脑的元数据
npm-*.log // npm日志
yarn-*.log // yarn日志
coverage/ // 测试报告
test/ // 测试用例
.vscode/ // vscode配置
.npmrc // npm配置
.npmignore // .npmignore自身
package-lock.jsonyarn.lock // Lock文件
commitlint.config.json // commitlint配置
.release-it.json // release-it配置
prettierrc // prettier配置
.eslintrc // eslint配置
.npmrc
.npmrc的优先级
按以下优先级查找:
- 每个项目的配置文件 (/path/to/my/project/.npmrc
- 每个用户的配置文件 (~/npmrc)
- 全局的配置文件(SPREFIX/etc/npmrc)
- npm内置的配置文件 (path/to/npm/npmrc)
常见配置项
cache ="~/.npm" # 缓存位置
engine-strict = false # 是否严格限制node版本
https-proxy = null # npm网络操作的代理
package-lock = true # 使用package-lock.json
registry ="https://registry.npmjs.org/" # npm仓库地址,尤其对自建仓库的Team很有用
加速二进制依赖下载
由于国内网络问题,部分常用的二进制依赖下载速度较慢,我们可以利用.npmrc配置国内的镜像源
ELECTRON MIRROR = "https://npm.taobao.org/mirrors/electron/" # electron
PHANTOMJS_CDNURL ="https://npm.taobao.org/mirrors/phantomjs/" # phantomjs
SASS_BINARY_SITE ="https://npm.taobao.org/mirrors/node-sass/" # node-sass
.vscode 、.editorconfig
一个良好协作的Team,一定有一份约定的编辑器配置
.vscode - vscode的配置
.vscode是一个目录,里面可以存放各种vscode相关的ison配置文件,包括:
- setting.json -编辑器配置: 窗口、字体、终端、语言配置、git配置、甚至是各种插件的配置项
- lauch.json - debug相关的配置项,常用于NodeJS应用调试
- *.code-snippets - 代码片段
更多settings.json的配置,可以查阅: VSCode Settings
统一和规范.vscode (或其他ide) 的配置,亦是很多大厂团队协作的最佳实践