pnpm助你快速调试本地npm包

发表于 2024-05-15
更新于 2024-05-23
分类于 技术专栏
阅读量 110
字数统计 1272

1、背景

有些项目会引用自己的私有包,但是私有包本身虽然我们会加一些demo,单测,但是数据可能并不是很全,有的时候就需要结合实际项目进行调试,总不能改一点,发布掉,再改一点发布掉吧,那样浪费自己的版本不说,这些流程跑下来也是很浪费精力。因此,在pnpm下找了一个好用link命令来解决这个问题。(npm也有一样的工具)

2、如何配置

假设我们有私有包fo,然后在我们的项目we中被使用,这个时候,我们到fo包下执行:

1pnpm link --global

有可能会提示这样:

1 WARN  The package fo, which you have just pnpm linked, has the following peerDependencies specified in its package.json: 2 3 - a@^2, - b@^1, - c@^4, - d@^18, - e@^18, - f@^6 4 5The linked in dependency will not resolve the peer dependencies from the target node_modules. 6This might cause issues in your project. To resolve this, you may use the "file:" protocol to reference the local dependency. 7Progress: resolved 36, reused 36, downloaded 0, added 0, done 8 WARN  link:/xxx/fo has no binaries

不用理会这个(我用了很多external的配置),没必要切换成file:,因为待会你会发现link这个命令有一个非常好用的功能。

fo这个包就会生成软链到全局路径下。

接着到引用的项目下we下,执行:

1pnpm link fo --global

这样就会自动软链接上刚才的那个私有包的最新版本了,之后只要把yo包开启文件修改编译监控:

1 "scripts": { 2 "dev": "vite", 3 "build": "vite build --watch", 4 }

如此,你在私有包yo的任何改动会自动编译,最好用的就是,在we包能够监测到这种改动,实现了流程的开发调试工作。

15:13:43 PM [vite] hmr update /@fs/Users/linxiaowu/SourceCode/xxx/fo/dist/index.es.js (x2)

非常丝滑,以后就不用改一行代码就发布一次版本了。

公众号关注一波~

微信公众号

关于评论和留言

如果对本文 pnpm助你快速调试本地npm包 的内容有疑问,请在下面的评论系统中留言,谢谢。

网站源码:linxiaowu66 · 豆米的博客

Follow:linxiaowu66 · Github