Npm link的作用与使用示例代码

一、为什么要用Npm link

库包在开发或迭代后,不适合发布到线上进行调试(过程繁琐且会导致版本号膨胀)

二、Npm link工作原理

`npm link` 可以帮助我们模拟包安装后的状态,它会在系统中做一个快捷方式映射,让本地的包就好像 install 过一样,可以直接使用。

三、Npm link的使用

同一目录下的使用

// 进入应用文件夹
$ cd xxx/project_npmlink/project1
// 软链接
$ npm link ../module1

npm link 操作会在项目的 node_modules 目录下创建一个 module1的超链接(类似 Windows 的快捷方式),链接到 project_npmlink/module1。 

生成的虚拟包名会根据module1的package.json进行指定。

不同目录下使用:

项目和模块不在同一个目录下,需要先把模块链接到全局,然后再在项目中链接模块

$ cd xxx/project_npmlink/module1
$ npm link

npm link 操作会在全局 node_modules 目录下创建一个 module-name 的超链接。

// 再去项目目录
$ cd xxx/project_npmlink/project1
// 通过包名建立链接
$ npm link module1

此时只需要指定 module-name,在项目的 node_modules 目录下创建一个 module-name 的超链接,链接到 /usr/local/lib/node_modules/module-name,然后再由全局目录下的超链接,链接到具体的代码目录下。

 三、删除npm link的链接

解除项目和模块的链接

// 进入项目目录,解除链接
$ cd xxx/project_npmlink/project1
$ npm unlink module1

解除模块的全局链接

// 进入项目目录,解除链接
$ cd xxx/project_npmlink/module1
$ npm unlink module1

补充:npm link

记录一下,开发npm包时要在项目中调试,可以在npm包中执行npm link 链接到全局, 在项目中npm link xxxxx(npm包名);当调试完成后,解除npm link 可以在项目中执行 npm unlink xxxx(npm包名)
第二种方法,npm list -g --depth 0查看全局安装的包,找到全局包的路径,直接删除这个文件

作者:AI3D_WebEngineer原文地址:https://blog.csdn.net/weixin_42274805/article/details/123474053

%s 个评论

要回复文章请先登录注册