该插件为 Modern.js 提供 Module Federation 配套功能
强烈推荐参考这个应用,它充分利用了最佳功能: module-federation 示例
你可以通过如下的命令安装插件:
在 modern.config.ts 的 plugins 中应用此插件:
随后创建 module-federation.config.ts 文件,并写入需要的配置:
在 modern-app-env.d.ts 文件增加 /// <reference types='@module-federation/modern-js/types' /> 以获取运行时 @@modern-js/runtime/mf 类型支持。
在 tsconfig.json 添加 paths 以获取生产者的类型:
为更好的性能体验,Module Federation X Modern.js SSR 仅支持 stream SSR 。
在 SSR 场景与 CSR 场景中使用 Module Federation 没有任何区别,开发者保持按照原有的开发行为即可。
但为了更好地使用体验,我们提供了配套的函数/组件来帮助开发者更好的使用 Module Federation。
该函数在加载组件同时,还会帮助注入相应的样式标签/脚本 ,此行为可以帮助避免流式渲染带来的 CSS 闪烁问题以及加速 PID (首屏可交互时间)。
React.ReactNodeundefined设置模块载入状态。
(({ error }: { error: Error}) => React.ReactElement)undefined当组件加载或渲染失败时,所渲染的容错组件。
注意:当渲染失败的时候,该组件仅在客户端渲染此 容错组件。