likes
comments
collection
share

知道npm link的作用吗?有没有遇到发布npm公共包的时候一直打补丁、打版本调试,版本号都不够用了,这时,npm l

作者站长头像
站长
· 阅读数 42

有没有遇到发布npm公共包的时候一直打补丁、打版本调试,版本号都不够用了,这时,npm link命令便显得尤为重要,它能在本地项目和本地npm包之间建立连接,使得我们能够在本地环境中直接测试和使用模块,极大提高了开发效率。

npm link 被称作软连接,实际上是创建符号链接(在Windows中类似于快捷方式),将本地npm包直接链接到项目的node_modules目录中。这样,我们无需发布或安装测试版本,即可在项目中实时使用最新的模块代码。此外,由于链接的是符号链接而非真实文件,模块代码的修改会实时反映在项目中,便于调试和开发。

接下来看看具体是怎么操作的吧。

包与项目的目录,配置如下:

知道npm link的作用吗?有没有遇到发布npm公共包的时候一直打补丁、打版本调试,版本号都不够用了,这时,npm l

link-package包里执行

npm link

知道npm link的作用吗?有没有遇到发布npm公共包的时候一直打补丁、打版本调试,版本号都不够用了,这时,npm l

目的是告诉程序使用全局软链。

那么如何在项目中使用该软连接呢,实际也很简单

npm link link-package

知道npm link的作用吗?有没有遇到发布npm公共包的时候一直打补丁、打版本调试,版本号都不够用了,这时,npm l

链接成功之后会生成node_module并且软链到你发布在全局的软接。

实际上的执行原理是:

知道npm link的作用吗?有没有遇到发布npm公共包的时候一直打补丁、打版本调试,版本号都不够用了,这时,npm l

需要注意的是link后面跟着的包名是包package里面的name,并且在main中指定入口

知道npm link的作用吗?有没有遇到发布npm公共包的时候一直打补丁、打版本调试,版本号都不够用了,这时,npm l

执行试试看吧

package包的代码:

知道npm link的作用吗?有没有遇到发布npm公共包的时候一直打补丁、打版本调试,版本号都不够用了,这时,npm l

测试项目demo知道npm link的作用吗?有没有遇到发布npm公共包的时候一直打补丁、打版本调试,版本号都不够用了,这时,npm l

知道npm link的作用吗?有没有遇到发布npm公共包的时候一直打补丁、打版本调试,版本号都不够用了,这时,npm l

执行后输出3!

再也不用怕版本号不够用啦!

如果需要卸载其实也比较简单,区分全局卸载跟单个卸载。

1.全局卸载:在npm包的全局链接目录下,执行npm unlink命令(不需要添加包名),或者直接删除全局node_modules/下的依赖符号链接。

2.卸载单独软链:在需要解除链接的项目目录下,执行npm unlink package-name命令(package-name是之前使用npm link创建的链接的模块的名字)。

转载自:https://juejin.cn/post/7425582774021505043
评论
请登录