我努力了,
- 单人SPA
- 网页组件
但是在这两种方式中,我都找不到一种方法来单独开发和部署微前端,然后将那些部署的微前端引用到包装器网络应用程序中。
在我尝试使用上述方法的示例中,微前端在包装器 Web 应用程序中呈现,但是当独立服务时,它们没有按预期呈现。
我努力了,
但是在这两种方式中,我都找不到一种方法来单独开发和部署微前端,然后将那些部署的微前端引用到包装器网络应用程序中。
在我尝试使用上述方法的示例中,微前端在包装器 Web 应用程序中呈现,但是当独立服务时,它们没有按预期呈现。
您无法使用普通的静态站点解决方案来做到这一点。您必须使用一些后端. 问题是您需要动态提供微前端应用程序 (mfa) 的列表,因此您必须至少更改一些内容。
实现这一目标的最简单方法是:
document.createElement
)。现在,您的架构应该是这样的:
--> Index.html started
--> Loader do fetch for the list of the mfa scripts
--> Loader adds listed scripts dynamically
--> Applications start working
当您需要更改应用程序列表时,您无需重新部署任何内容。只需更改 API 响应(通过更新数据库、配置或任何您想要的),它就会起作用。
这并不理想(从性能角度来看非常不理想,但适用于普通静态站点)。
更好的方法(如果您有后端)是动态生成页面并将脚本与应用程序动态嵌入服务器端。它更简单并且可能更快,因为您无需等待调用 API 即可获取 mfa 列表。
希望这可以帮助。
PS 使用动态脚本加载可能很危险。如果您决定采用第一种方式,请不要忘记验证所有脚本是否受信任。例如,您可以使用Content-Security-Policy。