2016-11-20 8 views
0

私は今Angularrモジュールガイドに従っていますが、チュートリアルとは異なり、私はパッケージングソリューションとしてwebpackを使用しています。ヒーローズモジュールを追加するまではすべて問題ありません。デフォルトの連絡先モジュールの場合、それは何の問題も作業していないが、私は英雄モジュールを追加するとき、私はこのエラーを得た:web2でangle2、module routing get system not foundエラー

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

私は、このようなcommonjsにtscofigとセットのモジュールを変更するなど、多くのことを確認し、それは無用

です

私はコンタクトモジュールとヒーローモジュール間で異なるがあると思う:

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' } 
]; 

だから、英雄モジュールは、コンタクトモジュールとは異なり、遅延ロードです。

システムの代わりにwebpackを使用して、angle2プロジェクトをパッケージ化するときに、誰かがエラーに遭遇しましたか?

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

とのWebPACKの設定であなたのtypescriptですローダーに追加します。

おかげ

フランク

あなたはangular2 webpack、あなたが何をする必要があるか ngmoduleガイドに従っている場合は
+0

は、あなたのヒーローモジュールがビルド方法を参照してください。あなたのherosモジュールがsystemjsを使ってビルドされているように見えます。それがSystemjを探している理由です。 –

+0

これはどのように可能ですか?全体のプロジェクトはwebpackで構築されています。主人公は同じプロジェクト内のフィーチャモジュールだけです。私はng2のガイドに正確に従いました。 – user3006967

+0

あなたはプランカを与えることができますか? –

答えて

1

です(ウェブパックのガイドにはconfig/webpack.common.jsです):

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

とあなたのルーティングモジュールでそれらをロードモジュールへのパスが相対ます

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

続きを読むには:
https://github.com/brandonroberts/angular2-router-loader
https://medium.com/@daviddentoom/angular-2-lazy-loading-with-webpack-d25fe71c29c1#.qnct3euh2

関連する問題