2017-03-21 10 views
3

私はng2アプリケーションで作業しており、それを構築するのに@angular/cliを使用します。出力として、それは.inline.jsのようないくつかのjsファイルを発し、.vendor.jsなどangle cliの出力として1つのファイルを取得する方法

質問です - 結果として一つだけのファイル、つまりバンドルvendor.jsを放出する角度-CLIを設定する方法、inline.jsなど一つの大きなファイルに?

私はそれが追加バンドラを使用することによって行うことができるが、私がこのアプリで遅延ロードを使用していないし、間違いないでしょうかNG-CLI

PSを経由して、それを達成するためにいいだろうと理解しています。

UPDATE

true--vendor-chunkを設定vendor.jsを避けるが、結果として、私はまだいくつかのファイルを取得する可能性がある: inline.bundle.js main.bundle.js polyfills.bundle.js

+1

良い質問です。私は通常、gulpを使用してvendor.js/inline.jsをさらにバンドル(連結)します。しかし、それを全て角張った塊に束ねるといいですね。しかし、遅延ロードを使用する場合は、もちろん、別々にバンドルされたチャンクを別々に保つ必要があります。 – brando

答えて

1

私は、角度-CLIのいずれかの機能を見ていませんこれは1つのバンドルに組み込まれていますが、nodejsスクリプトを使用するか、またはconcat-filesなどの利用可能なconcatライブラリの1つを使用するのはかなり簡単です

その後、連結・ファイルをインストールします。

"scripts":{ 
    "build": "ng build && node concat.js" 
} 
: は、新しいスクリプト buildを追加 scripts下のdistフォルダあなたの package.json

var concat = require('concat-files'); 
concat([ 
    './dist/inline.bundle.js', 
    './dist/vendor.bundle.js', 
    './dist/vendor.bundle.js' 
], './dist/app.js', function(err) { 
    if (err) throw err 
    console.log('done'); 
}); 

と同じレベルのプロジェクトでconcat.jsファイルを追加

npm run buildこれを実行すると、角度のあるcliビルドが最初に実行され、結果のバンドルを連結するconcat.jsスクリプトが実行されます

+0

これはバンドルを連結しますが、バンドルをindex.htmlにリンクしません。 index.htmlから結果の "app.js"ファイルへのリンクを簡単に作成する方法はありますか? –

関連する問題