Я использовал форк angular-cli, который компилирует несколько модулей https://www.npmjs.com/package/hydra-ngtools-webpack В aot все работает как положено, но когда я компилирую в JIT, я получаю ошибку ..
Невозможно прочитать толчок неопределенного
Я проследил ошибку до этой строки в angular_compiler_plugin.js в папке @ ngtools / webpack. Как видите, lazyRoutes не было присвоено начальное значение.
_listLazyRoutesFromProgram() {
let lazyRoutes;
if (this._JitMode) {
if (!this.entryModule) {
return {};
}
const ngProgram = compiler_cli_1.createProgram({
rootNames: this._rootNames,
options: Object.assign({}, this._compilerOptions, { genDir: '', collectAllErrors: true }),
host: this._compilerHost,
});
this.entryModule.forEach((entryModule) => {
ngProgram.listLazyRoutes(entryModule.path + '#' + entryModule.className).forEach((lazyRoute) => {
lazyRoutes.push(lazyRoute);
});
});
}
Если я инициализирую это так
let lazyRoutes=[];
Сборка компилируется без ошибок. Я связался с автором для этого пакета для источника этого репо, чтобы я мог сделать запрос на извлечение и все еще жду ответа от него. Есть ли способ, которым я могу сказать компилятору не жаловаться на эту неинициализированную переменную и быть прощающим. В противном случае мне придется редактировать эту строку при каждой установке npm, что не идеально.