Skip to content

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:.*/"

pnpm run

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 的方式有如下优点:

  • 可以随着项目上传到仓库,并在各个位置都能运行
  • 方便配置文件复用

Copyright © 2022 田园幻想乡 浙ICP备2021038778号-1