2016-07-11 6 views
2

Angular2のスターターのように、私はsuchプランナーを使用しています。しかし、それは非常に遅いです。プランナーのためにAngular2の単一ファイルを作成するには?

var angularVersion = '2.0.0-rc.4'; 

System.config({ 
    baseUrl: '/', 
    paths: { 
    'npmcdn:*': 'https://npmcdn.com/*' 
    } 
}); 

System.config({ 
    transpiler: 'typescript', 
    typescriptOptions: { emitDecoratorMetadata: true }, 

    meta: { 
    '*': { 
     deps: [ 'zone.js', 'reflect-metadata' ] 
    } 
    } 
}); 

System.config({ 
    packageConfigPaths: [ 
    "npmcdn:@*/*/package.json" 
    ], 

    map: { 
    '@angular/core': 'npmcdn:@angular/[email protected]'+angularVersion, 
    '@angular/compiler': 'npmcdn:@angular/[email protected]'+angularVersion, 
    '@angular/common': 'npmcdn:@angular/[email protected]'+angularVersion, 
    '@angular/platform-browser': 'npmcdn:@angular/[email protected]'+angularVersion, 
    '@angular/platform-browser-dynamic': 'npmcdn:@angular/[email protected]'+angularVersion, 
    'rxjs': 'npmcdn:[email protected]', 
    'zone.js': 'npmcdn:[email protected]', 
    'reflect-metadata': 'npmcdn:[email protected]', 
    "crypto": "@empty" 
    }, 

    packages: { 
    'app': { 
     defaultExtension: 'ts', 
     main: './index.ts' 
    } 
    } 
}); 

私はそれをより速くするためにAngular2のすべてのベンダーの部品を単一のファイルバンドルの種類をプリコンパイル約アイデアを考えてのコードのみをtranspileだ:それはそれをリロードに毎回transpileしようとする主な理由あなたはアプリケーションですが、ライブラリはありません。

すでに解決策はありますか?

+2

ドキュメントが既に[*開発中または生産のために、ブラウザでtranspileしないでください。*]と述べている(https://angular.io/docs/ts/latest/quickstart.html#!#transpiling-in -the-browser) –

+0

私は、プランナーのデモでも簡単に変更する必要があります –

答えて

0

Angular2クイックスタートは、集約UMDモジュールを使用します。 live demoをご覧ください。 個々のファイルの代わりにUMDモジュールをロードするようにSystemJSの設定を変更します。ここにファイルの重要な部分があります。

ngPackageNames.forEach(function(pkgName) { 

    // Bundled (~40 requests): 
    packages['@angular/'+pkgName] = { main: '/bundles/' + pkgName + '.umd.js', defaultExtension: 'js' }; 

    // Individual files (~300 requests): 
    //packages['@angular/'+pkgName] = { main: 'index.js', defaultExtension: 'js' }; 
    }); 
関連する問題