如何调试本地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包,并在开发过程中实时看到变化。

相关推荐
怕浪猫41 分钟前
分享一个做视频的skill,这条白板视频,每一笔都是代码画的
前端·javascript·面试
aa小小1 小时前
大屏自适应缩放方案
前端·数据可视化
陪我去看海2 小时前
被要求猛出小程序,做了这个多平台多环境的部署替我承受压力
前端·微信小程序·抖音小程序
Frag0ut2 小时前
告别插件时代:HTML5 视频播放对比 Flash/Silverlight/ActiveX 的性能与技术优势解析
前端·html5·视频播放·flash·activex·流媒体技术·silverlight
用户818618028002 小时前
MongoDB文档模型设计——从建模到索引
前端
無名路人3 小时前
小程序点餐页吸顶滚动之分类按需加载,上划切换
前端·vue.js·微信小程序
竹林8183 小时前
把神经网络塞进一个浏览器标签页:端侧视觉 AI 的工程真相
前端·浏览器
乘风gg4 小时前
别跟风 AI 副业,工程师最该学的是 AI Coding
前端·ai编程·claude
Frag0ut4 小时前
深度解析:Chrome 自启动与后台常驻服务的作用、关闭方法及利弊权衡
前端·chrome
Amos_Web4 小时前
Rspack 源码解析(十五):Loader Runner 与 JS Loader 桥接
前端·rust·前端框架