2025-3
目录
18
Verdaccio
Verdacciow 是一个轻量级的私有 npm 仓库,可以在本地搭建一个私有的 npm 仓库,用于存放公司内部的 npm 包。
可以实现如需求:
- 可以构建私有 npm 源,用于上传和存放私有代码包
- 可以代理外部的 npm 源,并可以通过缓存提高包的下载速度
- 可以重写外部的包,用于解决一些包的问题或者自定义一些功能
pnpm
pnpm 是一个快速的包管理器,可以用来代替 npm 和 yarn。pnpm 将下载的包存放在本地的一个全局缓存中,然后通过硬链接(如果是 windows 则为符号链接
)的方式将包链接到项目的node_modules
目录下,随着使用次数的增加,pnpm 的速度会越来越快。
相比于 npm 和 yarn 拷贝包的方案更快
在 windows 上,如果缓存库被摧毁,则所有使用 pnpm 的项目都会受到影响,而在类 Unix 系统上,删除缓存库中的包不会导致项目中的依赖被删除
pnpm run
命令相比于npm run
,可以使用正则批量执行任务
bash
# 运行所有以 watch: 开头的脚本。
pnpm run "/^watch:.*/"
npmrc
npmrc 是 npm 的配置文件,可以用来配置 npm 的行为,例如设置代理、设置镜像源、设置缓存目录等。
npmrc 一般以 .npmrc
的长相存在于项目根目录下(和package.json
同级)
也可以存在于用户目录下(
~/.npmrc
)。npm config 实际上是修改全局的 npmrc 文件
.npmrc
# 以#开头的行为注释
; 以;开头的行也是注释
# 设置代理
registry=https://mycustomregistry.example.org
# 指定某个域的代理
@mycompany:registry=https://mycompany.example.org
有关可用配置选项的列表,请参阅config
20
husky
husky 是一个 git hooks 工具,可以用来在 git 提交前运行一些命令,例如格式化代码、检查代码质量、运行测试等。
虽然相同的功能可以通过.git/hooks/ 目录下的钩子函数实现,但是使用 husky 的方式有如下优点:
- 可以随着项目上传到仓库,并在各个位置都能运行
- 方便配置文件复用