一、为什么要用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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐