2017-01-10 65 views
12

这里有什么问题?我试图让它工作,但我在头上得到这个错误。我已将<router-outlet></router-outlet>包含在app.component.htmltemplateUrl中,由app.component.ts调用,但仍然没有运气。模块'AppModule'声明的未定义值'undefined'

app.module.ts

import { NgModule }    from '@angular/core'; 
import { BrowserModule }  from '@angular/platform-browser'; 
import { FormsModule }   from '@angular/forms'; 
import { RouterModule, Routes } from '@angular/router'; 


import { AppComponent } from './app.component'; 
import { AppRoutingModule } from './app-routing.module'; 
import { TopnavComponent } from './components/navbars/topnav/topnav.component'; 
import { LeftnavComponent } from './components/navbars/leftnav/leftnav.component'; 
import { LeftnavsecondaryComponent } from './components/navbars/leftnav-secondary/leftnav-secondary.component'; 
import { WorldofwarcraftComponent } from './components/games/worldofwarcraft/worldofwarcraft.component'; 

@NgModule({ 
    imports: [ BrowserModule, FormsModule, AppRoutingModule ], 
    declarations: [ AppComponent, TopnavComponent, LeftnavComponent, LeftnavsecondaryComponent, WorldofwarcraftComponent ], 
    bootstrap: [ AppComponent ] 
}) 

export class AppModule { } 

APP-routing.module.ts

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

import { WorldofwarcraftComponent } from './components/games/worldofwarcraft/worldofwarcraft.component'; 

const appRoutes: Routes = [ 
    { path: 'worldofwacraft', component: WorldofwarcraftComponent } 
]; 

@NgModule({ 
    imports: [ RouterModule.forRoot(appRoutes) ], 
    exports: [ RouterModule ] 
}) 

export class AppRoutingModule {} 
+2

听起来像某处存在周期性依赖。 – cartant

+0

你可以添加你的代码plnkr –

回答

2

,因为我在指数中的一个重复的出口它引起的。 ts文件:

2

这是一个非常烦人和难以理解的错误。我使用Araxis Merge做了文件比较,发现我的两个项目中的每个文件乍一看几乎完全相同。但是,经过进一步的审查后,我注意到文件结构(我一开始并不真正在寻找的细微差别,而是在寻找配置差异),我的第二个项目从其中一个ts文件生成了一个js文件。

正如你可以在左侧看到有一个js文件。右侧项目显示了我的节点构建器组件,并且运行时没有错误。右侧是造成问题的原因。

Extra unneeded file

的WebPack已经拾起JavaScript文件,并试图将它打包。很显然,当Webpack遇到ts版本时,它将它转换成一个重复的js文件,从而产生令人困惑的运行时异常。

t {__zone_symbol__error: Error: Unexpected value 'undefined' declared by the 
module 'AppModule' 
    at t.m (http://localhost:……} 

正如你可以看到这个问题不得不无关,与配置很多帖子都让我相信。如上所述,你的问题可能与配置有关,但在我的情况下它没有。

23

我得到了同样的错误,有时也会出现此问题,你只需要重新运行使用ng serve或任何CLI您使用的服务器,如提及here

+1

是的!这对我有效..我从1小时这个问题猛击我的头,最后发现这 –

+1

希望我看到这一点。我的头发拉出了3个小时:( – M22an

+0

FWIW,与Ionic相同 – Damon

4

我面临同样的错误,我发现了原因。 原因是两个逗号,在任何数组(例如:imports属性)这样。

@NgModule({ 
    imports: [ 
    CommonModule, FormsModule,, 
]}) 
+0

您节省了我的一天! –

+0

谢谢。 –

相关问题