我开始为完全模块化的后端(vertx Verticle docker cluster)开发前端。
主要思想/问题是有一个基础ng2应用程序,它定义仪表板,侧面菜单,其他基本组件,并通过某种包含路径的清单列表连接到后端,发现启用了哪些模块。必需的JS文件/包,模块应该是完全独立的,你可以从github下载并放在一个文件夹中。
到目前为止,我发现最接近的是这个问题,Angular2: Loading modules dynamically from a given folder,它展示了如何在运行时加载模块,但我还没有找到一种独立开发和构建软件包的方法
这甚至可能吗?你们能指出我正确的方向吗?我错过了这个例子吗?
答案 0 :(得分:1)
如果您要使用Angular CLI而不是滚动自己的构建,则必须预先定义所有路由。
你可以做的是设置所有模块都是延迟加载的路由器模块(使用AssetCopier
,然后根据仪表板所说的情况设置路由器防护装置。
答案 1 :(得分:0)
这是一个棘手的问题,但根据我的理解,你可以得到的最接近的是将你的模块作为独立模块在github / npm中分发,然后将它们作为依赖项添加到你的项目中。
然后,您可以设置延迟加载的路由,这些路由将导入这些独立模块。你仍然需要在任何地方明确地引用它们,所以它不是从目录中发现的纯粹发现,不确定需要多少。
但是,一般情况下,值得注意的是,如果您引入提供程序,延迟加载可能并不理想。您通常希望在主模块中导入使用forRoot()的那些,并避免在可能包含多次的模块中提供它们,以免获得多个实例。