首页 > 解决方案 > Angular 9 使用动态路由动态导入模块

问题描述

我想使用来自后端服务的可变字符串路由动态导入角度模块。例如,当应用程序启动时(使用 APP_INITIALIZER),我的后端服务会向我发送此响应。

{
    "hostname": "a-tenant",
    "modules": {
        "home": {
            "class": "HomeAModule",
            "path": "home-a.module",
         },
    },
},

我的应用程序结构是:

项目结构

所以我想导入这样的模块

const path = `./tenants/${response.hostname}/home/${response.modules.home.path}`;

import(path).then(m => m[response.modules.home.class]);

我的最终导入代码在运行时应该是这样的:

import('./tenants/a-tenant/home/home-a.module').then(m => m.HomeAModule);

但是我收到了这个错误,我认为 webpack 不能处理这样的动态负载。

谢谢您的帮助 :)

错误

标签: angularwebpackmoduleangular9dynamic-import

解决方案


不幸的是,使用动态字符串进行动态导入是不可能的


推荐阅读