Как импортировать модуль в Angular, используя путь в переменной - PullRequest
0 голосов
/ 02 мая 2020

Я хочу 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 с путем в переменной?

Заранее спасибо.

1 Ответ

1 голос
/ 02 мая 2020

Вы не можете. Чтобы обеспечить ленивую загрузку, CLI Angular анализирует код для создания отдельного пакета public.module с этим кодом:

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

и загружает пакет при необходимости во время выполнения. При использовании переменной он больше не может создавать пакет, поскольку значение известно только во время выполнения.

...