2016-11-20 5 views
0

Ich folge jetzt Angualr Modules Guide, aber im Gegensatz zu dem Tutorial, verwende ich webpack als Verpackungslösung. Alles ist in Ordnung, bis ich das Heldenmodul hinzufüge. Für das Standard-Kontaktmodul ist es kein Problem arbeiten, aber wenn ich Helden Modul hinzufügen, habe ich diesen Fehler:eckig2 mit webpack, modul routing get system nicht gefunden fehler

EXCEPTION: Uncaught (in promise): ReferenceError: System is not defined 

ich viel überprüfen, wie Modifizieren tscofig und setzen Modul Commonjs, ist es sinnlos,

denke ich, der Unterschied zwischen dem Kontaktmodul und Held-Modul ist:

export const routes: Routes = [ 
    { path: '', redirectTo: 'contact', pathMatch: 'full'}, 
    { path: 'crisis', loadChildren: 'app/crisis/crisis.module#CrisisModule' }, 
    { path: 'heroes', loadChildren: 'app/hero/hero.module#HeroModule' } 
]; 

So die Helden Modul verzögertes Laden ist, im Gegensatz zu dem Kontaktmodul

.

Hat jemand den Fehler gefunden, wenn Sie Webpack anstelle von System verwenden, um Ihr angular2-Projekt zu packen?

Dank

Frank

+0

Sehen Sie, wie Ihr heros Modul bauen ist. Es sieht so aus, als ob dein Heros-Modul mit Systemjs erstellt wurde und deshalb nach Systemjs sucht. –

+0

Wie ist das möglich? Ganzes Projekt ist mit Webpack gebaut, und Held ist nur ein Feature-Modul innerhalb des gleichen Projekts, ich folgte genau der Anleitung in ng2 – user3006967

+0

können Sie einen Plünderer geben? –

Antwort

1

Wenn Sie die angular2 webpack und ngmodule Führer gefolgt sind, was Sie tun müssen, ist:

npm install --save-dev angular2-router-loader

und fügen Sie sie Typoskript Lader in webpack Config (im webpack guide ist es config/webpack.common.js):

module: { 
    loaders: [ 
    { 
     test: /\.ts$/, 
     loaders: [ 
     'awesome-typescript-loader', 
     'angular2-template-loader', 
     'angular2-router-loader' 
     ] 
    }, 
    ... 

und im Routing-Modul machen die Wege an das Modul relativ, die sie lädt:

export const routes: Routes = [ 
    { path: '', redirectTo: 'contact', pathMatch: 'full'}, 
    { path: 'crisis', loadChildren: './crisis/crisis.module#CrisisModule' }, 
    { path: 'heroes', loadChildren: './hero/hero.module#HeroModule' } 
]; 

mehr zu lesen:
https://github.com/brandonroberts/angular2-router-loader
https://medium.com/@daviddentoom/angular-2-lazy-loading-with-webpack-d25fe71c29c1#.qnct3euh2

Verwandte Themen