2
私はシステムが終了したルートファイルを持っていますが、私のvscではshoewsエラーで名前 'system'が見つかりません。ここで私はスクリーンショットを添付しました。 angular2に '名前システムが見つかりません'
私はシステムが終了したルートファイルを持っていますが、私のvscではshoewsエラーで名前 'system'が見つかりません。ここで私はスクリーンショットを添付しました。 angular2に '名前システムが見つかりません'
これは、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'
ビートルジュース、型エラーHere is the recommended way
は、交換を検討してください:あなたは(
System.import()
で動的ローディングを)他のモジュールをロードしている方法は、遅延読み込みと互換性がない可能性がありまだ残っていて、このように「タイプ」を追加しました:[ "hammerjs"、 "node"、 "source-map"、 "uglify-js"、 "webpa CK」 ] }、 "typeRoots":[ "node_modules"]、 "タイプ": "システム"]、 "除外":[ "node_modules"、 "DIST" ]、 – MMR@nlr_pあなたは2つの 'types'エントリを持っています。 'system'を最初のエントリに移動します – BeetleJuice
' SystemJS'をグローバル名として 'System'ではなく、後者はトップレベルのスコープで非推奨です。 –