npm link的基本用法及实例

来源:互联网 发布:告白夫妇网络漫画 编辑:程序博客网 时间:2024/06/10 11:35

如果我们想自己开发一个依赖包,在多个项目中使用它,如果直接发布到官网上固然可以,但如果修改则会非常麻烦,而且不利于在多个项目中使用。

npm link命令可以帮助我们实现这个事情

假如我们开发一个名为allenModule95的依赖包。
这里写图片描述
首先需要在该依赖包下运行npm init命令,并编写index.js文件

module.exports = {    name: "allenModule95Name",    sayHello: function(){        console.log("hello allenModule95");    }}

然后在myProject目录下编写demo.js文件

var myModule = require("allenModule95");console.log(myModule.name);myModule.sayHello();

直接运行会报错,allenModule95模块找不到。

因为此时的require搜寻目录没有包含此模块。

切换到allenModule95目录下,并执行npm link 命令,这个命令的作用就是在全局环境下,生成一个符号链接文件,该文件的名字就是package.json文件中指定的模块名。同时我们对此模块的修改会实时反馈在全局目录下。

在切换到myProject目录下,将自定义的模块与此项目连接起来。执行npm link allenModule95。然后就可以执行node demo查看效果了:
这里写图片描述

如此,我们可以在任何目录下使用该模块,并且一处修改,处处改变,节省了同步依赖包的步骤。

如果想解除项目与模块的依赖则可以在项目目录下执行npm unlink allenModule95即可。

如果想要从全局环境移除allenModule95模块链接,则可以在该模块目录下执行npm unlink allenModule95即可。

更多参考:
http://javascript.ruanyifeng.com/nodejs/npm.html#toc18
https://www.youtube.com/watch?v=nKFe1lhGSk0