未捕获(承诺):错误:找不到' [对象对象]的NgModule元数据'

时间:2016-11-26 16:08:00

标签: javascript angular metadata ng-modules

的src / +登录/ index.ts

import { CommonModule } from '@angular/common';
import { NgModule }      from '@angular/core';
import { FormsModule }   from '@angular/forms';
import { HttpModule } from '@angular/http';
import { RouterModule } from '@angular/router';

import { LoginComponent } from './login.component';

export const routes=[
  { path:'',component:LoginComponent }
];
@NgModule({
  imports: [
    CommonModule,
    HttpModule,
    FormsModule,
    RouterModule.forChild(routes)
  ],
  declarations: [
    LoginComponent
  ],
})
export default class Login {
  static routes = routes;
}

的src / app.routing.ts

import { Routes, RouterModule } from '@angular/router';

import { HomeComponent } from './home';

export const appRoutes: Routes = [
    { path:'',component:HomeComponent },
    { path:'login',loadChildren: ()=>System.import("./+login")}
];

错误:

  

EXCEPTION:未捕获(在承诺中):错误:未找到NgModule元数据   for' [object Object]'。   ac_vendor的百分比抑制率" ./ node_modules/@angular/compiler/src/ng_module_resolver.js"] /NgModuleResolverhttp://127.0.0.1:3000/vendor.bundle.js:13839:23

这个问题困扰了我很久,请帮帮我

1 个答案:

答案 0 :(得分:1)

从Angular 2.0.x升级到Angular 4.0.x后,我遇到了同样的问题 问题出现在Routes的语法中。您需要指定负责显示子页面的NgModule。

旧语法: { path: 'jobs', loadChildren: 'app/pages/jobs/jobs.module#JobsModule' }

新语法: <RatingBar android:id="@+id/rating" style="@style/RatingBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:isIndicator="true" android:max="5" android:numStars="5" android:stepSize="0.5"/>

(注意最后的 #JobsModule