Webpack Module Federation

面试题

Module Federation 如何实现微前端?hostremoteshared 分别是什么?

核心概念

  • Host:运行时加载远程模块的应用。
  • Remote:暴露模块并生成 remote entry 的应用。
  • exposes:声明可被远程消费的模块。
  • remotes:声明远程应用入口。
  • shared:共享 React、Vue 等依赖,减少重复加载并控制单例/版本。

它和发布 npm 包不同:模块在运行时从远程入口加载,宿主不必重新打包远程应用。代价是运行时网络、版本兼容、故障降级和部署顺序都更复杂。面试中应说明远程模块加载失败时需要超时、兜底版本或功能降级。