angular - 在 Angular 8+(和 Ivy 就绪?)中以编程方式加载模块
问题描述
我的应用程序需要加载一组动态配置的功能模块(每个都有自己的附加路由),这些模块由配置文件(使用 XHR 加载)单独定义。我最初的计划是有一个模块字符串列表(如“plugins/my.module#MyModule”)并NgModuleFactoryLoader.load()
在引导时用于加载它们。
现在,当我开始实施时,我看到NgModuleFactoryLoader
不赞成使用 的import()
形式LoadChildren
,这在这种情况下不起作用(我在配置中只有字符串,没有模块引用)。
我如何在当前的(8+)Angular 中实现这一点?
解决方案
这是一个相当大的话题,但NgModuleFactoryLoader
如果您使用的是 Ivy 编译器,它将不再适用。因为不再有模块工厂,只有模块类上的注入器定义。
有全新的 Ivy API,它的大小不适合这个答案。
正如您在评论中要求我留下答案,因此下一位研究人员会发现它更容易。这是Angular Ivy 中的异步模块和组件一文的链接。如果 Medium 链接消失,它也可以在indepth.dev上找到。
推荐阅读
- python - 从二维数组中的元素获取相邻值
- r - R:如何在地图上显示城市级别的数据以及如何在地图的特定区域进行缩放
- javascript - 更改选择值时阻止加载页面
- reactjs - React Bootstrap 3 模式
- reactjs - 为什么我的值只在数组中保留一个循环?
- javascript - 如何将 Steam 自定义个性化配置文件 URL 解析为 steamID64
- java - 我在 Java 上的抵押贷款计算器程序无法产生输出
- amazon-web-services - 用户'admin'@'localhost'的PHPmyadmin访问被拒绝(使用密码:YES)
- javascript - 材质 UI 多选 | 如何将多选与数组一起使用
- ios - [!]无效的`Podfile`文件:找不到可执行的`node`