You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将预编译Angular库加载为动态模块?Angular13+适配方案求助

Angular 13+ 动态加载插件库的可行方案求助

我负责的应用基于包含多个应用与库的Angular工作区,要求库作为插件动态加载——编译时无法确定插件集合,因此不能使用静态机制。

Angular 13 之前的可行方案

Angular 13 之前,我们通过以下流程实现动态插件加载:

  • 使用默认的ng-packagr编译库
  • 通过SystemJS在运行时加载UMD包
  • 调用Angular编译器的compiler.compileModuleAndAllComponentsAsync方法编译Angular模块

但Angular移除直接UMD包支持后,该方案不再可行。

当前方案的问题

我们目前采用了一种在浏览器中运行babel的替代方案,但该方案速度极慢,无法满足需求。

尝试过的无效方案

我们希望为插件库构建预打包版本,但尝试后均未成功:

  • 回退到JIT编译,体验不理想
  • 按照相关issue建议使用Angular Linker,但即便传入相同的Injector,生成的库仍无法正确解析服务,持续出现常见的“No provider for service”错误

请问有人成功实现过这类动态加载插件库的配置吗?


内容的提问来源于stack exchange,提问作者Hanno Bunjes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 17:10:25