Angular 6 找不到 'myModule' 的 NgModule 元数据



我的"延迟加载"似乎有问题

当我尝试ng服务时,我收到此错误:

ERROR in No NgModule metadata found for 'ModuleA'.

编译正在等待。然后,如果我编辑并保存文件modulea.module.ts,它可以工作。但是这个技巧不适用于 ng build(现在有"监视"模式(,我希望你知道我在说什么: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 {}

最后模块AA加载组件

编辑我可以编辑任何文件(当编译失败并等待时(以完成它。

我遇到了同样的问题,并且模块名称上出现了错误。因此,请检查发生错误的模块的所有名称,路由名称,组件名称和模块名称。

最新更新