代码之家  ›  专栏  ›  技术社区  ›  Rajeev

找不到“{Module Name}”的NgModule元数据时出错

  •  0
  • Rajeev  · 技术社区  · 7 年前

    我正在使用以下版本的CLI:

    ngular CLI: 6.2.7
    Node: 10.6.0
    OS: darwin x64
    Angular: 6.1.10
    ... animations, common, compiler, compiler-cli, core, forms
    ... http, language-service, platform-browser
    ... platform-browser-dynamic, router
    
    Package                           Version
    -----------------------------------------------------------
    @angular-devkit/architect         0.8.7
    @angular-devkit/build-angular     0.8.7
    @angular-devkit/build-optimizer   0.8.7
    @angular-devkit/build-webpack     0.8.7
    @angular-devkit/core              0.8.7
    @angular-devkit/schematics        0.8.7
    @angular/cli                      6.2.7
    @ngtools/webpack                  6.2.7
    @schematics/angular               0.8.7
    @schematics/update                0.8.7
    rxjs                              6.2.2
    typescript                        2.9.2
    webpack                           4.16.4
    

    我创建了一个名为的子ng模块 char-routing.module.ts 当我试图将其抛出类时,当我运行ng服务时,它抛出以下错误:

    ERROR in No NgModule metadata found for 'CharRoutingModule'.
    

    我正在使用NgModule的懒散加载 loadChildren: './add-character/add-character.component#CharRoutingModule' 我正在添加我的两个文件的源。我无法复制为什么会发生这种情况的问题,我是新来的,所以,我没有更多的想法。 代码 char-routing.module.ts

    import { NgModule } from '@angular/core';
    import { AddCharacterComponent } from './add-character.component';
    import { RouterModule } from '@angular/router';
    
    @NgModule({
      imports: [RouterModule.forChild([
        {path: '', component: AddCharacterComponent}
      ])],
      declarations: [AddCharacterComponent]
    })
        export class CharRoutingModule {
    
    }
    

    代码 add-character.component.ts

    import { StarWarService } from './../star-war.service';
    import { Component, OnInit } from '@angular/core';
    
    @Component({
      selector: 'app-add-character',
      templateUrl: './add-character.component.html',
      styleUrls: ['./add-character.component.css']
    })
    export class AddCharacterComponent implements OnInit {
      ablavelSide: {display: string, value: string}[] = [
        {display: 'None', value: ''},
        {display: 'Light', value: 'light'},
        {display: 'Dark', value: 'dark'}
      ];
      swService: StarWarService;
      constructor(serive: StarWarService) {
        this.swService = serive;
      }
    
      ngOnInit() {
      }
    
      onSubmit (form) {
        console.log(form);
        if (form.invalid) {
          return;
        }
        this.swService.addCharracter(form.value.name, form.value.side);
        form.reset();
      }
    }
    

    这是我正在使用的代码。请帮帮我。

    1 回复  |  直到 7 年前
        1
  •  7
  •   SiddAjmera    7 年前

    CharRoutingModule 文件

    loadChildren: './add-character/add-character.component#CharRoutingModule'
    

    应该是

    loadChildren: './add-character/char-routing.module#CharRoutingModule'
    

    理想情况下,应该有一个CharModule,在 loadChildren 然后是 CharRouting模块 CharModule