我还记得以前调试官网的 ckeditor 编辑器,每次改完编辑器包,而后发布编辑器包,而后在官网里面引入这个包进行调试,若是有问题,从新改动、发布编辑器包,继续引入,真的浪费了好多时间。其实相似这种场景均可以使用npm link,可以极大地简化操做。记录下来,供之后开发时参考,相信对其余人也有用。node
好比说有包 package-A 和项目 project-B,项目 project-B 须要用到包 package-A。而他们都是在 projects 文件夹里面,那么咱们能够直接在 project-B 里面 npm link,示例以下:npm
cd ~/projects/project-B # go into the dir of project B npm link ../package-A # link the dir of your package
注意:link完以后,就至关于把这个包放到项目的 node_modules 里面去了,你能够直接在项目中引用这个包。json
仍是包 package-A 和项目 project-B,若是他们放在不一样的文件夹里面,而且相对路径不太方便写,或者他们的位置会变更,那么可使用以下方式:编辑器
cd ~/packages/package-A npm link # creates global link cd ~/projects/project-B npm link package-A # link-install the package
注意:link完以后,就至关于把这个包放到项目的 node_modules 里面去了,你能够直接在项目中引用这个包。调试
1.若是是全局 link 的方式,也会把 bins 文件夹放到全局,因此也可让某些命令全局化。code
2.npm link 的原理是创建 symlink(软连接),可是并非以文件夹名字的形式,而是以package.json
里面包的名字的形式。开发