前言
我们在本地开发一个包的时候,想要测试使用这个包的效果,一般情况下需要先将该包发布到 npm,再从 npm 下载下来测试。这样测试当然是最准确的,但是这样需要频繁增删包,会很麻烦。因为可以使用 npm link
功能将本地的包 link 到引用的工程的 node_modules
中使用。
不同的 npm 的版本命令会有些差异,以下用法仅适用于 npm v8 版本。
全局 link
如果开发的包和使用开发包的工程相隔很远,或者不想写相对路径和绝对路径等路径信息,就可以将开发的包 link 到全局,使用开发包的工程从全局 link 过来。
- 开发包 link 到全局 ```bash cd toLinkDir
npm link
2. 查看是否 link 到全局成功
```bash
npm ls --global
- 工程使用开发包 ```bash cd projectDir
这里的 @xx/test 是link到全局的package.json里的name,而不是文件夹名
npm link @xx/test
4. 工程查看是否 link 成功
```bash
cd projectDir
npm ls
- 工程移除开发包 ```bash cd projectDir
npm unlink @xx/test
6. 将开发包从全局 link 移除
```bash
npm unlink -g @xx/test
局部 link
可以直接在使用的工程目录下直接 link 相对路径或者绝对路径的开发包,如下
cd projectDir
npm link ../../test/pkg
npm ls
npm unlink @xx/test
# 上述步骤等同于进入开发包中执行 link 到全局,再到工程目录下使用 link
# 虽然是局部,但是 link 的包也被放到了全局,需要在用完后手动移除
# 全局命令依旧可以看到 link 的包
npm ls -g
npm unlink -g @xx/test