如何调试本地npm package

背景:

在不发布的情况下调试本地的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包,并在开发过程中实时看到变化。

相关推荐
比特鹰3 分钟前
桌面端跨端框架调研
前端·javascript·前端框架
Ratten4 分钟前
【JavaScript】---- JS原生的深拷贝API structuredClone 使用详解与注意事项
前端·javascript
DarisX5 分钟前
JupyterLab前端二开基础上手指南
前端
ZZZzh5 分钟前
前端开发浏览器调试方法
前端
shmily_yy5 分钟前
Ts支持哪些类型和类型运算(上)
前端
Epicurus6 分钟前
JavaScript如何删除属性及其值
前端·javascript
JinSo6 分钟前
国际化探索:颗粒化方案
前端·javascript·设计模式
coderlh8 分钟前
vue3的diff(Difference)算法
前端
Enddme9 分钟前
「面试必问!Proxy对比defineProperty的六大核心差异与底层原理」
前端·面试
難釋懷9 分钟前
JavaScript 简单类型与复杂类型-简单类型传参
前端·javascript