Проблема
При первом запуске сервера я получаю сообщение об ошибке: ERROR in Cannot read property 'members' of null
.
Я отследил это до следующего блока кода:
const MODULES = [
// This gets all of the page modules from the pages array of page objects
// Then uses the spread operator to inject the resulting array of modules individually
...getPageModules(), <---- THIS IS THE PROBLEM LINE
// Proceed as usual
CommonModule,
Sidebar,
Windows,
Taskbar
]
Настройка
Итак, эта часть большей оконной системы, которая динамически загружает компоненты в окна.Поскольку странице требуется ссылка на модули для их импорта, а затем оконному модулю нужна ссылка на компоненты для entryComponents
, была создана служба окна, чтобы получить их, чтобы позволить им динамически вводиться в модули.
Вот ссылка на функцию getPageModules
и связанную с ней функцию:
getPageModules
:
// Returns all of the modules for all of the pages
export function getPageModules( _pages: any[] = pages ): any[] {
// Get all of the module elements recursively from the pages array
return getPageElements( pages, "module");
};
getPageElements
:
// Recursively retrieves all instances of a specific element in all page objects
export function getPageElements( _pages: any[] = pages, element ): any[] {
// Recursively build an array of all elements.
let elements = _pages.map( page => {
// Return the page element, or the spread array of elements returned by a recursive call to this function
return page[element] ? page[element] : [].concat.apply([], [...getPageElements(page.pages, element)]);
})
// Return the resulting elements
return elements;
}
Что я пробовал
Я посмотрел на возвращение этих функций, и нет никаких проблем.На самом деле это работает, если я закомментирую строку проблемы, сохраню и скомпилирую (программа компилируется, но не работает, потому что модули не загружены), а затем откомментирую строку проблемы и сохраню (эта программа компилируется и работает на этот разпоскольку модули загружены.
Кроме того, я совершенно не понимаю, почему это не скомпилируется при первом запуске.
Что мне нужно
Iищу способ динамической загрузки этих модулей и корректной компиляции приложения при первом запуске.