【发布时间】:2017-08-08 14:37:52
【问题描述】:
是否可以引用一个模块(已编译为 umd 或 es 格式)并在已编译的 Angular 应用程序中动态加载它?
- 主 shell 应用程序托管在:http://plugin_shell.mydomain.com
- 一个模块(带有一堆组件、服务等):编译后的代码 托管在另一个 url。让我们说: http://plugins/modules/myfirstplugin.umd.js
- 外壳加载时。加载所有模块,渲染特定组件,参考 到服务、使用类等。
我尝试使用 SystemJsNgModuleLoader.load 加载模块,但它似乎确实适用于这种用例。
谢谢
编辑:同样的问题(没有答案):How to dynamically load external angular 2 module (like served from an external module.bundle.js)
【问题讨论】:
-
您说的是编译好的 ng 应用程序(又名 webpack 片段),但您还提到了 systemJS,您使用的是哪一个?
-
shell 是一个 webpack 应用程序。所有的模块,必须是动态的,所以它们目前被编译为带有汇总的 umd 模块。这里的问题是模块将被更新并在一个 url 上发布。 shell 必须从 url 加载它们(并具有可用的最新版本)。
-
github.com/webpack/webpack/issues/150 这可能会对您有所帮助,但是因为我不知道它是如何完成的,所以我不会将其作为答案发布。似乎人们在这个问题上实现了您想要做的事情。