模块“ AppModule”声明的异常值“ undefined”


70

怎么了 我正在尝试使其正常工作,但在标题中出现该错误。我已经包括<router-outlet></router-outlet>app.component.html正被templateUrl由被叫app.component.ts,仍然没有运气。

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

您可以添加代码的plnkr吗?
Amit kumar

Answers:


133

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


6
希望我能早点看到。
被拉

1
FWIW,与Ionic相同。
戴蒙

这对我有用。我尝试过的第一件事。谢谢。我认为应该将其标记为正确答案
Pete Herc,

1
我仍然没有得到它,首先导致这种错误出现的原因是什么?
Srivastav

1
很好的发现,但是为什么会这样呢?
BK-

93

我遇到了同样的错误,并且找到了原因。原因是两个逗号,在这样的任何数组中(例如:importsproperty)。

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

2
就我而言,这也是确切的问题。
Hlawuleka MAS

你救了我的日子,这是我的确切问题。
拉姆

9

尝试这样做可能会帮助您:
停止并启动ng-serve服务。现在页面可以导航了。


Mohammed Osman-谢谢!整整一天都为此付出了,无法相信原因是多余的逗号。出现错误消息后根本没有帮助,'undefined'==“您有一个多余的逗号”;(
罗伯特

4

这是由于我在index.ts文件之一中重复导出而造成的:


4

这是一个非常烦人且难以理解的错误。我使用Araxis Merge进行了文件比较,发现乍看之下我两个项目中的每个文件几乎都是相同的。但是,在进一步审查之后,我发现文件结构略有不同(起初我并不是真正在寻找,而是在寻找配置差异),我的第二个项目已经从ts文件之一生成了一个js文件。

如您所见,在左侧有一个js文件。右侧项目显示了我的node-builder组件,并且运行无误。右侧是导致问题的原因。

多余的文件

Webpack已经选择了该Javascript文件并尝试对其进行打包。显然,当Webpack遇到ts版本时,将其转换为重复的js文件,从而创建了一个令人困惑的运行时异常。

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

如您所见,这个问题与配置无关,因为许多帖子使我相信。如上所述,您的问题可能与配置有关,但就我而言,与配置无关。


2

这类似于建议重新运行的答案ng serve,但这与我的情况无关,因为我让应用程序永久在IIS中运行。在我的情况下,我使用构建了ng build --watch,但停止并重新运行它可以解决问题。我认为某些东西在增量构建时构建不正确,但是进行完整构建可以解决问题。


1

在我的情况下,这是类名diffrent,而在app.mdoule.ts中导出的​​{name}之间的名称是diffrent

祝好运


这与@Alexander Zaldostanov的答案相同,只是笼统地说,所以我会对该帖子进行编辑或评论(我知道您可能还没有特权,对不起)。
Noumenon

1

就我而言,在app.module.ts(Ionic 3)上

providers: [
    , StatusBar
    , SplashScreen

变成:

providers: [
     StatusBar
    , SplashScreen

和工程。


1

在我的场景中,我犯了如下错误

  @NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})
export class NewTestRoutingModule {
  static component : [NewTestContainerComponent, NewTestInletComponent, NewTestStructureComponent]
}

和在模块中

@NgModule({
  declarations: [LayersRoutingModule.component],

路由中的components数组应该像这样。

 static component = [NewTestContainerComponent, NewTestInletComponent, NewTestStructureComponent]

1

就我而言,这是由于构建问题。可能是您在App模块中添加了一些组件或其他东西而忘记重建它。因此,在浏览器中,Angular无法识别应用模块中的新条目,因为需要构建才能正确注册它们。因此对于开发模式,请杀死当前服务器并使用ng服务。



0

在Angular 2上经历过,事实证明,这与导入和相对路径有关,如果要从同一位置导出内容

例如,在使用桶时,显式指定 ./

export * from './create-profile.component';

代替

export * from 'create-profile.component';

0

/turbo_modules/@angular/compiler@8.2.14/bundles/compiler.umd.js中的错误(2603:26)模块'AppModule'声明了意外的值'undefined'

我遇到的问题是export class someClassName在我的一个文件中使用了未知/错误的类名(复制/粘贴错误),并且从未在任何地方注册(例如AppModule.ts *)。


0

我收到此错误是因为我错误地将其放在TestBed.configureTestingModulebeforeEach块之外。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.