URLをクリックして遅延ロードするようにコンポーネントを作成しようとしていますが、コンパイル時にエラーが発生しています。Lazy Loading Angular2 Webpackをコンパイルしていません
このアプリをバンドルするにはwebpackを使用しています。
マイAppModule
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import {
NgModule,
ApplicationRef
} from '@angular/core';
import {
RouterModule,
PreloadAllModules
} from '@angular/router';
import {CountDown} from "../../node_modules/angular2-simple-countdown/countdown";
/*
* Platform and Environment providers/directives/pipes
*/
import { ENV_PROVIDERS } from './environment';
import { AppComponent } from './app.component';
import { CompetitionComponent } from './competition/competition.component';
import { CompetitionService } from './shared/competition.service';
import { routing } from './app.routing';
import { TeamComponent } from "./team/team.component";
import { TeamResolve } from "./team/team.resolve";
import { TableModule } from './table/table.module';
@NgModule({
bootstrap: [ AppComponent],
declarations: [
AppComponent,CompetitionComponent,TeamComponent,CountDown
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule,
routing,
TableModule
],
providers:[CompetitionService,TeamResolve]
})
export class AppModule {
}
マイアプリのルーティングファイル
import { Routes,RouterModule } from '@angular/router';
import { CompetitionComponent } from './competition/competition.component';
import { TeamComponent } from "./team/team.component";
import { TeamResolve } from "./team/team.resolve";
const routes: Routes = [
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{ path: 'home', component: CompetitionComponent},
{ path: 'table', loadChildren:'app/table/table.module#TableModule'},
{ path: 'team', component: TeamComponent,resolve: {team: TeamResolve} }
];
export const routing = RouterModule.forRoot(routes);
マイテーブルモジュール
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { TableComponent } from './table.component';
import { KeysPipe } from "../shared/keys.pipe";
import { TableResolve } from "./table.resolve";
import { tableRouting } from "./table.routing";
@NgModule({
declarations: [
TableComponent,KeysPipe
],
imports:[CommonModule,tableRouting],
providers:[TableResolve]
})
export class TableModule{
}
ルーティングマイ表
import { Routes,RouterModule } from '@angular/router';
import { TableComponent } from './table.component';
import { TableResolve } from "./table.resolve";
const routes: Routes = [
{ path: '', component: TableComponent,resolve: {table: TableResolve} }
];
export const tableRouting = RouterModule.forChild(routes);
01いくつかの考えの後に[OK]をブラウザのコンソール上
のStackTrace
Uncaught Error: Module build failed: Error: ng-router-loader - Invalid code generator "async-import"
at Loader.replaceSource (D:\Angular2\Football\node_modules\src\Loader.ts:104:29)
at Loader.replace (D:\Angular2\Football\node_modules\src\Loader.ts:66:22)
at Object.loader (D:\Angular2\Football\node_modules\index.ts:1
実例を提供できますか? – laser
私の企業ネットワークでplunkerのような申し訳ありません –