模块调试 - npm link

模块调试 - npm link

node 应用开发中,我们不可避免的需要使用或拆分为 npm 模块,经常遇到的一个问题是:

新开发或修改的 npm 模块,如何在项目中试验?

常规方案

为了方便示范,我们假设项目是 my-project, 需要用到一个独立的 my-utils 模块

发布一个 beta 版本

  • 优点:简单而粗暴
  • 缺点:强依赖于有网测试,每次发布需要修改版本号并且重新install

直接用相对路径安装

$ cd path/to/my-project
$ npm install path/to/my-utils
  • 优点:相比发布而言,不在依赖网络
  • 缺点:还是需要每次install调试

使用软链

  • 优点:软链后,两边修改直接同步
  • 缺点:指令操作麻烦,不同操作系统语法不一样

二者都在同一个目录下:

$ cd path/to/my-project
$ npm link path/to/my-utils

如果这两种的目录不在一起:

$ # 先去到模块目录,把它 link 到全局
$ cd path/to/my-utils
$ npm link
$
$ # 再去项目目录通过包名来 link
$ cd path/to/my-project
$ npm link my-utils

该指令还可以用来调试 node cli 模块:

$ cd path/to/xx-cli
$ npm link
$ # 此时全局的 xx-cli 指令就已经指向你的本地开发目录了
$ xx-cli # 即可

移除 link

$ npm unlink my-utils

参考文章