使用{ "dependencies": { "my-component-library-b": "workspace:^" } } 这种方式的时候,b包需要打包成库文件吗

在使用 {"dependencies": {"my-component-library-b": "workspace:^"}} 方式引用组件库 B 时,由于 B 包是作为工作区的一部分,因此在这种情况下,你不需要将 B 包预先打包成库文件(如UMD、CommonJS或ES模块格式)。
Yarn Workspaces 可以直接解析和链接工作区内的依赖。

这意味着,业务包 A 可以直接引用组件库包 B 的源代码,而非编译后的库文件。这样做的好处是可以享受到工作区带来的开发便利性,比如实时的热更新、共享依赖等。

然而,当业务包 A 需要发布到生产环境时,你需要确保组件库 B 已经被打包并准备好分发(例如通过npm publish发布到私有或公共npm仓库)。
此时,在发布版的业务包 A 的 package.json 中,应将对组件库 B 的引用改为发布的包名和版本号,而非 "workspace:" 引用。

在开发阶段,可以这样引用:

// packages/A/package.json { "dependencies": { "my-component-library-b": "workspace:^" } }

而在发布阶段,需要将依赖更改为:

// packages/A/package.json(发布版) { "dependencies": { "my-component-library-b": "^x.y.z" } }

其中 ^x.y.z 是组件库 B 发布到npm仓库后的版本号。


__EOF__

本文作者龙陌
本文链接https://www.cnblogs.com/longmo666/p/18092125.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   龙陌  阅读(161)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示