Это похоже на проблему с моей 'ленивой загрузкой'
Когда я пытаюсь использовать ng serve, я получаю эту ошибку:
ERROR in No NgModule metadata found for 'ModuleA'.
И компиляция ждет.Затем, если я редактирую и сохраняю файл modulea.module.ts, он работает.Но этот трюк не работает с ng build (теперь есть режим 'watch'). Надеюсь, вы понимаете, о чем я говорю: D
Так как я могу это исправить?
Структура моих папок:
src/
app/
views/
moduleA/
componenets/
modulea.module.ts
modulea-routing.module.ts
moduleB/
componenets/
moduleb.module.ts
moduleb-routing.module.ts
... app components etc
app.module.ts
app.routing.ts
Маршрутизация моего приложения
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
export const routes: Routes = [
{
path: 'modulea',
children: [
{
path: '',
loadChildren: './views/moduleA/modulea.module#ModuleAModule'
},
]
},
{
path: 'moduleb',
children: [
{
path: '',
loadChildren: './views/moduleB/moduleb.module#ModuleBModule'
},
]
},
];
Модуль A:
import { NgModule } from '@angular/core';
import { ModuleARouting } from './modulea-routing.module';
@NgModule({
imports: [
ModuleARouting
],
})
export class ModuleAModule { }
Модуль B:
import { NgModule } from '@angular/core';
import { ModuleBRouting } from './moduleb-routing.module';
@NgModule({
imports: [
ModuleBRouting
],
})
export class ModuleBModule { }
МодульФайлы маршрутизации A и B загружают другой модуль:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
const routes: Routes = [
{
path: '',
data: {
title: 'ModuleA'
},
children: [
{
path: '',
redirectTo: 'module-a-a'
},
{
path: 'module-a-a',
loadChildren: './components/module-a-a.module#ModuleAAModule'
},
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class ModuleARouting {}
И, наконец, ModuleAA загружает компоненты
EDIT Я могу редактировать любой файл (когда компиляция не выполняется и ожидает), чтобыпередать это сделано.