使用npm link调试node.js模块
有时候,在项目开发时,我们会为我们的项目开发一些独立模块。
按照模块依赖的引入,我们会使用require
去做:
- 如果模块已经发布在仓库中,我们可以直接require模块名
- 如果没有在仓库中,我们可以使用路径去进行引入
对于前者而已,如果我们想要做调整或者测试,一定要发布到仓库上面,显然是不妥的。而后者的话,不管是使用相对路径还是绝对路径,写法上都不优雅。
其实,npm的命令中还有一个可以优雅解决我们当前需求的功能。
Npm link
npm提供了link的功能,可以让我们使用本地模块就像使用仓库模块一样。
假设我们现在有两个项目:
- my-utils,这个项目提供一些辅助工具,作为模块使用
- my-project,这是业务的项目,提供服务。
在my-project
中,会使用到my-utils
。那使用npm link的话,要怎么做呢?命令其实很简单:
1 | # 进入到模块目录,创建模块链接 |
执行上面的命令之后,任何我们在my-utils的改变,都会在~/projects/my-project/node_modules/my-utils
中提现出来。那么我们只要修改my-utils,然后使用my-project查看效果便可以了。
我们也可以将上面的两步link合并成一步:
1 | cd ~/projects/my-project |
这与上面两条link命令的效果是一致的。
注意
需要注意的是,当我们执行:
1 | # 进入到模块目录,创建模块链接 |
这里link得到的模块名称,是从package.json
中得到,并不是目录名称。
- 本文链接:https://keepmoving.ren/nodejs/npm-link/
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!