Я пробовал загружать модули без маршрутизатора, используя SystemJsNgModuleLoader
, но не смог заставить его работать:
this.loader.load(url).then(console.info);
Я получаю Cannot find module xxx
для любой строки, которую я использую для URL (aboslute/relative urls/paths... пробовал много вариантов). Я просмотрел исходный код Router и не смог найти ничего другого, кроме этого SystemJsNgModuleLoader
. Я даже не уверен, что должен использовать это...
Этот вопрос был задан только вчера на конференции ng-europe 2016
- Мишко и Матиас ответили:
Мишко Хевери:Нужно просто получить модуль, оттуда вы можете получить компонент factory, и вы можете динамически загружать компонент factory в любом месте приложения. Это именно то, что делает внутренний маршрутизатор. Поэтому для вас это тоже очень важно.
Матиас НимелаЕдинственное, что нужно отметить, это то, что на модуле [Ng] есть что-то под названием
entryComponents
и которое идентифицирует компоненты, которые могут быть ленивы загружены, - что запись в этот набор компонентов. Поэтому, когда у вас есть модули, которые ленивы загружены, введите материал вentryComponents
.
... но это не тот прорыв вперед без примеров и плохих документов по этому вопросу (;
Кто-нибудь знает, как загружать модули вручную, не используя Route.loadChildren
? Как заполучить модуль и что такое материал, который должен войти в entryComponents
(я читаю FAQ, но не могу попробовать без загрузки модуля )?