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

相关推荐
IT_陈寒16 分钟前
Vue的双向绑定把我坑惨了,原来这个场景不能用
前端·人工智能·后端
hunterandroid43 分钟前
[Android 从零到一] Compose LazyColumn 性能优化:key、稳定性与重组治理
android·前端
烬羽1 小时前
从 nest new 到 Hello World:一个最小 NestJS 项目,讲透工厂 + 装饰器 + 模块化
设计模式·node.js·nestjs
lichenyang4531 小时前
从一次团队邀请开始:用 React、NestJS 与 Socket.IO 做可靠的实时通知
前端
vtian1 小时前
一篇文章吃透 Monorepo:pnpm + Turborepo + Changesets 全流程实战(含 8 个踩坑)
前端
默_笙1 小时前
❗ 点击计数按钮,为什么"峨眉队"也跟着重新渲染?React.memo 说:我记住了
前端·javascript
31535669132 小时前
DeepSeek Harness 发布后,我没急着跑 Demo,先把 `.agents/` 翻了一遍
前端·后端·github
名字还没想好☜2 小时前
Next.js 用 Server Components 直连数据库:去掉 API 层的边界,和三条别踩的安全红线
前端·javascript·数据库·安全·react·next.js
学习zhao极致it2 小时前
2020全新React教程全家桶实战redux+antd+React Hooks前端js视频
前端
用户921080262862 小时前
Bubble 消息操作区改造:复制、重新生成和反馈
前端