2016-10-27 10 views

答えて

2

これは、TypescriptがSystemオブジェクトを認識しないために発生します。

あなたが実行する場合SystemJSタイピング

npm install @types/systemjs --save-dev 

はもちろんtypes

tsconfig.json

"typeRoots": ["node_modules"] 
"types": ["system"] 

の下で、あなたのtsconfig.jsonでタイピングへの参照を追加インストールします。ブラウザのこのコードには、も必要です。何もするSystem.import()のためのアプリにリンク0スクリプト:

index.htmlを

<script src="node_modules/systemjs/dist/system.src.js"></script> 

追記:

のアプリのうち、最大のパフォーマンスを得るために、あなたは最終的にしたいことがあり(ユーザが必要とするモジュールだけを読み込むために)レイジーローディングを使用します。

path: 'inbox', loadChildren:()=> System.import('../inbox/inbox.module') 

で:

path: 'inbox', loadChildren: 'absolute/path/to/inbox/inbox.module#InboxModule' 
+0

ビートルジュース、型エラーHere is the recommended way

は、交換を検討してください:あなたは(System.import()で動的ローディングを)他のモジュールをロードしている方法は、遅延読み込みと互換性がない可能性がありまだ残っていて、このように「タイプ」を追加しました:[ "hammerjs"、 "node"、 "source-map"、 "uglify-js"、 "webpa CK」 ] }、 "typeRoots":[ "node_modules"]、 "タイプ": "システム"]、 "除外":[ "node_modules"、 "DIST" ]、 – MMR

+0

@nlr_pあなたは2つの 'types'エントリを持っています。 'system'を最初のエントリに移動します – BeetleJuice

+0

' SystemJS'をグローバル名として 'System'ではなく、後者はトップレベルのスコープで非推奨です。 –

関連する問題