背景
- 感觉网上很多人没讲太明白,笔记总结下。
解决需求
- npm link主要是为了方便引用还没有发布的自己写的包,不然如果有问题每次改动又要重新发布,或者这个包压根不想拿来发布,但我别的项目需要使用。
用法
一、把所在目录的包放个软链接到全局默认路径npm下的node_modules下
-
给所在目录的package.json里加上name属性起个名字即可
npm link
-
注意,这个包放到全局npm下的node_modules下是不能直接调用命令来执行这个包的,全局命令能执行的包需要放到全局npm下而不是npm下的node_modules。
二 、把所在目录配置了bin的文件做成软链接放到全局的npm下
- package.json里加入如下配置:
"bin": {
"配置到全局的名字": "文件位置"
}
- 仍是用npm link即可,这次放入的是全局npm下,所以可以全局使用这个包,不像上面一的操作不能全局使用。
三、给需要调用的包创造软链接
- 比如我需要用一方法里所生成的全局包,我只要在我需要的项目里,
npm link 需要的全局node_modules下的包名
即可在这个项目的node_modules里创建软链接,链接全局的node_modules里相应的包。 - 注意,这个只能链接全局里npm下的node_modules下的包,不能链接全局npm下的包。