如何调试本地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 分钟前
🌐 CSS 选择器详解:从基础到实战
前端·javascript
远山枫谷4 分钟前
CSS选择器优先级计算你真的会吗?
前端·css
Forever_xl4 分钟前
埋点监控平台全景调研
前端
神秘的猪头4 分钟前
JavaScript 中的 `map()` 方法详解与面向对象编程初探
前端·javascript
有点笨的蛋5 分钟前
这些 CSS 小细节没处理好,你的页面就会“闪、抖、卡”——渲染机制深度拆解
前端·css
烟袅7 分钟前
JavaScript 中 map 与 parseInt 的经典陷阱:别再被“巧合”骗了!
前端·javascript
烟袅9 分钟前
JavaScript 中 string 与 new String() 的本质区别:你真的懂“字符串”吗?
前端·javascript
_大学牲9 分钟前
从 0 到上架:用 Flutter 一天做一款功德木鱼
前端·flutter·apple
外公的虱目鱼10 分钟前
基于vue-cli前端组件库搭建
前端·vue.js
嚴寒20 分钟前
2025最终!Mac配置Flutter全平台开发环境完整指南(亲测有效)
前端·flutter