Webpack 5 模块联合 - 共享库问题

问题描述 投票:0回答:1

我有一个 npm 模块,我想在主机和远程应用程序之间共享,但是当我调试应用程序时,很明显,例如单例类(来自 npm 模块)被实例化两次,首先是调试器命中主机应用程序加载的模块,然后发生同样的事情,但这次使用从远程应用程序加载的模块。

我已经按照文档设置了所有设置(singleton、requiredVersion、eager: true),版本完全匹配 - 我缺少什么?有我可以看的工作示例吗?谢谢。

(顺便说一句,这里描述了一个非常相似的问题,并提供了更多详细信息:WP5模块联合:单例实例化多次

webpack webpack-5 micro-frontend webpack-module-federation
1个回答
0
投票

当然,我并不完全知道您的配置和设置如何,但我认为您遇到的问题可能会出现,因为即使您已在 Webpack 模块联合设置中将模块配置为单例,您的主机和远程应用程序仍在加载相关 npm 模块的各自副本。

这可能会产生两个应该是单例类的实例。

要解决此问题,您应该必须获取两个实例才能将包解析到相同的“物理”位置。您应该能够通过使用 Yarn- 或 npm-Workspaces 设置 monorepo 将共享依赖项提升到根 node_modules 目录来实现此目的。

为此,您可能需要查看 this TypeScript 项目 Monorepo 的工作示例。

© www.soinside.com 2019 - 2024. All rights reserved.