ser*_*gpa 6 typescript angular
我正在构建一个Angular 2应用程序的问题.我一直在从各个地方锻炼我的复制/粘贴技能,并消除了所有的构建错误,但是当我在浏览器中启动它时,我在浏览器中出错.我看过这篇文章,但它没有解决我的问题.
我AppModule
看起来像这样:
import { NgModule, ApplicationRef } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { RouterModule } from '@angular/router';
import { ROUTES } from './app.routes';
import { HomeComponent } from '../index';
@NgModule({
bootstrap: [ AppModule ],
declarations: [
AppModule,
HomeComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule.forRoot(ROUTES, { useHash: true })
]
})
export class AppModule {
}
Run Code Online (Sandbox Code Playgroud)
我是这样开始的:
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './index';
platformBrowserDynamic().bootstrapModule(AppModule);
Run Code Online (Sandbox Code Playgroud)
但在我的浏览器中,我收到此错误:
ng_module_resolver.js:34未捕获错误:未找到"AppModule"的NgModule元数据.
我该如何解决这个问题?
我的代码现在看起来像这样,但仍然会生成错误:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { RouterModule } from '@angular/router';
import { ROUTES } from './app.routes';
import { HomeComponent } from '../index';
import { AppComponent } from './app.component';
@NgModule( {
bootstrap: [ AppComponent ],
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule.forRoot( ROUTES, { useHash: true } )
],
declarations: [
HomeComponent,
AppComponent
]
} )
export class AppModule {
}
Run Code Online (Sandbox Code Playgroud)
并且引导:
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppComponent } from './index';
platformBrowserDynamic().bootstrapModule(AppComponent);
Run Code Online (Sandbox Code Playgroud)
这是我现在得到的错误:
未捕获错误:未找到"AppComponent"的NgModule元数据
这是一个错误AppComponent
,或引导,或模块声明和元数据?文件含糊不清.
您的代码中至少存在三个错误。
首先- 您正在引导组件,这是错误的 - 您应该引导模块,根据您的情况AppModule
,AppModule
您应该选择要引导的组件。
其次- 您指定AppModule
为将要引导的组件:
bootstrap: [ AppModule ]
Run Code Online (Sandbox Code Playgroud)
您不能引导模块,但可以引导组件,例如HomeComponent
。据我所知,这是您拥有的唯一组件。
第三- 您要添加AppModule
其声明:
declarations: [
AppModule,
HomeComponent
]
Run Code Online (Sandbox Code Playgroud)
你根本不能这样做,你应该只将组件、指令和管道添加到模块的声明中,即使你可以声明模块,为什么要AppModule
在其内部声明呢?试试这个代码:
@NgModule({
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule.forRoot(ROUTES, { useHash: true })
],
declarations: [ HomeComponent ],
bootstrap: [ HomeComponent ]
})
export class AppModule {
}
Run Code Online (Sandbox Code Playgroud)
然后引导AppModule
:
platformBrowserDynamic().bootstrapModule(AppModule);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11253 次 |
最近记录: |