2016-03-23 7 views
1

私はangular2とsystem jsを初めて使用しています。モジュールを1つの "名前空間"にバンドルします

私は私のtypescriptですクラスの最上部に

import {Component, OnInit} from 'angular2/core'; 

を使用するときに、私は「/コアangular2は、」実際には異なるクラスの数を指していることを知っています。

私自身のsystem.js環境でこれを設定する方法を知りたいと思います。

アプリ/モデル/ user.ts アプリ/モデル/ object1.ts:私のプロジェクト内の各「オブジェクト」のための別のクラスが含まれているモデルと呼ば例えば

私は私のアプリのフォルダにフォルダを持っている場合 アプリ/モデル/ object2.ts アプリ/モデル/ object3.ts

を今私はTSクラスの最上部に個別に各ファイルをインポートする必要が私のアプリの他の部分でこれらのクラスを使用するために

import {User} from '../../model/user'; 
import {object1} from '../../model/object1'; 
import {object2} from '../../model/object2'; 
import {object3} from '../../model/object3'; 

私はこのようにインポートできるようにどのように私はそれを変更することができます。

System.config({ 
    map: { 'app': './Modules/Shifts/app' }, 
    packages: { 
     //sets the root path of the Angular2 App 
     'Modules/Shifts/app': {    
      format: 'register', 
      defaultExtension: 'js' 
     } 
    }   
}); 
System.import('app/boot') 
     .then(null, console.error.bind(console)); 

私はこれを設定するにはどうすればよい:ここ

import {User, object1, object2, object3} from '../../model/'; 

は、MTの電流がsystem.js設定しているのですか?事前

答えて

2

おかげで簡単な解決策は、必要なクラス・輸出を再ヘルパーファイルを作成することです。

export {User} from './model/user' 
export {object1} from './model/object1' 
// ... 

は今、あなたは

import {User, object1, object2, object3} from '../../model'; 

としてインポートを書き換えることができますまたはあなたはまた、調整パスと../../model/index.tsを使用することができます。

は何をする必要があるコンテンツに../../model.tsというファイルを作成することですexport {User} from './user'

+0

完璧、ありがとう –