如何使用变量中的路径在 Angular 中导入模块

How To Import Module In Angular Using Path In A Variable

我想 import 我的 angular module 使用变量名作为 module 的路径。例如:

当我使用下面这段代码时,它工作正常:

import('src/app/modules/public/public.module').then(mod => mod.PublicModule);

但是,当我尝试将我的 module 路径存储到某个变量时,它不起作用。例如,我之前尝试过的代码如下所示:

const publicPath = 'src/app/modules/public/public.module';
import(publicPath).then(mod => mod.PublicModule);

当我尝试上面的代码时,我得到一些错误,如下所示:

core.js:6185 ERROR Error: Uncaught (in promise): Error: Cannot find module 'app/modules/public/public.module'
Error: Cannot find module 'app/modules/public/public.module'

现在,我应该如何处理 import 带有变量路径的 module

提前致谢。

你不能。为了让延迟加载工作,Angular CLI 分析代码以使用以下代码创建一个单独的 public.module 包:

import('src/app/modules/public/public.module').then(mod => mod.PublicModule);

并在运行时需要时加载包。使用变量时,它不能再创建包,因为该值仅在运行时已知。