背景:
在不发布的情况下调试本地的npm包,有以下两种方式:
离线调试
此种模式适用于本地npm package 已经比较稳定,需要在项目中使用这个npm package。
在本地npm package项目中,使用npm pack
创建一个tgz文件,这个文件是本地npm package的压缩包。
在另一个项目中,使用npm install
命令加上tgz文件的路径来安装这个本地npm包。
例如:
bash
# 在你的本地npm package目录下执行
$ npm pack
[package-name]-[package-version].tgz
# 在另一个项目中安装。 安装完成后,你可以在另一个项目中像使用任何其他npm包一样使用这个本地包。
$ cd workspace
$ npm install /path/to/[package-name]-[package-version].tgz
实时调试
此种模式适用于本地npm package 需要频繁调试的阶段,优点是不需要频繁打包重新安装,可以达到实时调试的效果。
可以在package.json
中的scripts
部分添加一个自定义命令,并在其中使用npm link
。这样,你就可以在本地开发的同时,在任何项目中直接链接到你的npm包。
例如:
json
// package.json中的scripts部分
{
"scripts": {
"dev": "ng serve",
"link": "npm link"
}
}
在你的npm包目录下运行npm run link
,然后在项目中运行npm link [package-name]
来创建一个全局链接。这样,你就可以直接在项目中使用本地npm包,并在开发过程中实时看到变化。