我正面临Angular应用程序的问题。如何将动态外部组件加载到Angular应用程序中
我想用(aot)写一个用Typscript编写的角度应用程序。
其目的是显示一些用户仪表板与一些小部件。小部件是一个角度组件。
我的应用程序附带一些嵌入式小部件。 但部件应该像市场一样延伸;或手动创建。
市场应该下载文件(js/ts/bunlde .. ??)到一个特定的文件夹中。
然后我的应用程序应该能够加载新的小部件(= ng组件)并对它们进行实例化。
我的文件夹结构(生产)
|- index.html
|- main.f5b448e73f5a1f3f796e.bundle.js
|- main.f5b448e73f5a1f3f796e.bundle.js.map
|- .... (all other files generated)
|- externalWidgets
|- widgetA
|- widjetA.js
|- widjetA.js.map
|- assets
|- image.png
|- widgetB
|- widjetB.ts
|- widjetB.html
|- widjetB.css
然后加载用户页面时,该数据库说有一个widgetA。 所以我们的目标是动态加载文件和实例包含的组件。
我已经尝试了很多解决方案,使用“require”和“System.import”,但是当加载路径是动态生成时都失败。
这应该有可能吗? 我可以改变我的代码结构;更改外部小部件..(例如,widgetB还没有被转译,...)
事实上,我正在寻找一个带有Angular4/webpack应用程序的“插件系统”。
你的做法是非常有趣的,是可以使用这种方式来导入远程托管的组件/模块? – Seb
@Seb,是的,但是你需要使用SystemJS代替那 –
,这对我来说可能有用!你有任何如何集成systemJs和webpack的例子吗?还有一个远程组件的System.import的例子? – Seb