如何优雅地在本地测试 npm 包
需要发布my-npm,想在my-project项目内测试my-npm。
my-npm 是 npm 的名字,即package.json中的 name,项目所在目录也是my-npm。
两者不要求相同,但是为了方便描述,这里取一样的名字。
三种方法
- npm link
my-npm build 后,执行 npm link,然后 my-project npm link my-npm
测试完毕,在 my-project npm unlink my-npm 释放软连接。
推荐这种方式,优点:my-npm 再次构建后,在 my-project 直接得到变更后的代码
- npm i . -g
my-npm build 后, 执行npm i . -g,然后 my-project npm link my-npm
测试完毕,my-project npm unlink my-npm 释放软连接。
- yalc 模拟仓库
全局安装 npm i yalc -g
my-npm build 后, 执行 yalc public, my-project yalc add my-npm
缺点:再次构建后,还需要在my-project安装,有点繁琐。
这些命令做了啥
link 和i . -g 都在的全局 node_modules 内创建了链接到my-npm的软连接。


yalc 则在项目模拟了一个仓库,在 yarn add 本地的 npm 包。
本质是简化了yarn add file:npm-path。

bash
# yalc add 之后
"j-form-table": "file:.yalc/j-form-table",
常用的 yalc 命令
bash
yalc publish # 发布
yalc add npm-name # 安装进入项目
yalc update # 升级npm
yalc remove npm-name # 移除 npm
yalc dir npm-name # 查看 npm 的目录
关于 npmignore
npmignore 排除资源,使 npm 体积减少。
不配置 npmignore

配置了 npmignore

package.json的 files 字段,指定发布到 npm 的文件。
Jack Chou's blog