Нет. Приведу пример с использованием
Webpack
В случае JIT-компиляции используется такой плагин, как
angular-router-loader
.
При работе сборщика он проходится по всем роутам, содержащим
loadChildren
и заменяет их на некоторое выражение:
{
loadChildren: () => new Promise(resolve => {
(require as any).ensure([], require => {
resolve(require('./path/to/yourmodule').ModuleName);
})
})
}
После этого webpack может собрать их в определенные
chunks - дополнительные js-файлы, которые содержат загружаемые модули.
В случае AOT-компиляции, используется
@ngtools/webpack
, который выполняет аналогичную работу, при этом он еще компилирует все компоненты в файлы *.ngfactory.ts. После этого webpack также генерирует чанки с этими фабриками.
В вашем же случае на этапе сборки значение не является константным, поэтому сборщик выдаст сообщение об ошибке.
Для решения этой проблемы может помочь отложенная загрузка
вручную, например.