模块“ AppModule”声明的未预期值“未定义”

怎么了?我试图让它工作,但我得到的头部错误。我已经包括在 app.component.html<router-outlet></router-outlet>是被 app.component.ts调用的 templateUrl,仍然没有运气。

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- 路由. 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 {}
61128 次浏览

这是因为我在 index.ts 文件中重复了导出:

这是一个非常恼人和难以理解的错误。我使用 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:……}

正如你所看到的,这个问题与配置没有任何关系,正如许多帖子让我相信的那样。如上所述,您的问题可能与配置有关,但在我的情况下,它没有。

我得到了相同的错误,有时这个问题发生,您只需要使用 ng serve或任何您使用的 CLI 重新运行服务器,正如提到的 给你

我面临着同样的错误,我发现了原因。 原因是任何数组(例如: imports属性)中都有两个逗号,如下所示。

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

试试这个可能会对你有帮助:
停止并启动 ng-serve服务。 现在页面可以导航了。

这也发生在我身上,在 @Component中我写了选择器: all-employees,在 app.module.ts模块中它是 <all- employees></all- employees>

在我的示例中,类名是不同的,导出到 app.mdoule.ts 中的{ name }之间的名称是不同的

祝你好运

在我的例子中,在 app.module.ts (Ionic 3)上

providers: [
, StatusBar
, SplashScreen

改为:

providers: [
StatusBar
, SplashScreen

而且很有效。

经历过角度2,它证明了它与导入和相对路径有关,如果你从相同的位置导入东西

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

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

而不是

export * from 'create-profile.component';

这类似于 答案建议重新运行 ng serve,但这与我的情况无关,因为我的应用程序在 IIS 中永久运行。在我的例子中,我是用 ng build --watch构建的,但是停止它并重新运行它修复了这个问题。我假设某些东西在增量构建时被错误地构建了,但是完整的构建修复了这个问题。

在我的场景中,我犯了下面这样的错误

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

以及模组

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

Routing 中的组件数组应该如下所示。

 static component = [NewTestContainerComponent, NewTestInletComponent, NewTestStructureComponent]

在/turbo _ module/@angle/编译器@8.2.14/bundle/builder.umd.js (2603:26)中出错 模块“ AppModule”声明的未预期值“未定义”

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

在我的情况下,这是由于构建问题。可能是您在应用程序模块中添加了一些组件或其他内容,而忘记重新构建它。所以在浏览器中,Angular 无法识别应用程序模块中的新条目,因为需要构建才能正确注册它们。因此,对于开发模式,请关闭当前服务器并使用 ng 服务。

我得到这个错误是因为我错误地将 TestBed.configureTestingModule放在 beforeEach块之外。