Modern.js 提供了运行时 API,支持快速从应用中导出应用级别的 Module Federation 模块。
我们以 使用模块联邦 创建的应用为例,进一步说明如何导入应用级别模块。
在原本应用的基础上,我们需要安装 @module-federation/bridge-react
依赖,用于使用 Bridge 加载应用级别模块。
和直接导出组件级别的模块不同,我们需要为应用级别模块创建一个独立的入口来作为 Module Federation
的导出。
我们创建 src/export-App.tsx
文件:
这里可以是任意的文件名,Modern.js 没有做强制约定。
该文件会将 main
入口的应用根组件传递给 Bridge API,并通过 Bridge 将调用渲染函数将其渲染到指定的节点上。
接下来,我们配置 module-federation.config.ts
,将导出修改为 src/export-App.tsx
:
createBridgeComponent
用于导出应用级别模块,Modern.js 相关 API 可以查看 createRoot、render。