如何将外部模块动态加载/绑定到现有路由器?

问题描述 投票:0回答:1
  1. 使用Webpack的多个条目创建两个单独的包,app.js指向'./src/main.ts',subapp.js指向'./src/app/subapp.module.ts']

2。启动主应用程序,要动态加载外部subapp.js,当用户在运行时选择它时将其合并到主应用程序中

   {
        path: 'contact',
        loadChildren: () => fetch('subapp.js').then(response => response.text())
        .then(source => {
            // tslint:disable-next-line: no-eval
            let obj = eval(source);
            return obj.SubappModule;
        }),
        data: {preload: true },
        canLoad: [AuthGuard]
    }
  1. 在调试期间发现subappModule已成功加载,但是可以将其路由正确加载到_loadedConfig;中。4,订阅路由事件routeConfigLoadEnd并手动设置_loadedConfig以更正subappModule的路由,但是从mani应用程序导航到subappModule(带有内部路由器的多页模块)仍然不起作用;我们正在使用JIT,有点像组件/路线需要注册吗?

有任何提示吗?谢谢你。

angular angular-ui-router lazy-loading bundle dynamic-loading
1个回答
0
投票

关于此的其他信息,我们需要在使用Webpack运行构建之前从源代码中删除到obj.SubAppModule的路由映射路径:'contact'。该路由将在朗姆时间添加到主应用程序路由中。

© www.soinside.com 2019 - 2024. All rights reserved.