2017-03-03 27 views
0

これは角度2の私の最初のアプリケーションです。Rollup JSでpolyfillと外部ライブラリをバンドルする方法は?

バンドルを生成するために、aotとrollupを実行します。しかし、我々は常にscript HTML要素でindex.htmlにpolyfills(shim、reflect-metadata、zone.js)を追加する必要があります。

このポリフィルをバンドルに追加することはできますか?

別の質問:バンドルに外部JSライブラリを追加する方法。実際には、polyfillsのように私たちは、あなたが一気またはWebPACKのようなものでグローバルとpolyfillsに別々のバンドルを作成し、index.htmlを含めることができindex.htmlを

答えて

1

に追加する必要があります。例えばグッとあなたが本当にあなただけのロールアップのいずれかでこのバンドルを連結可能性のバンドルを望んでいた場合

let globalJs = gulp.series(
    function cleanGlobalJs() { 
     return del('dist/global*.js') 
    }, 
    function BuildGlobalJs() { 

     return gulp.src([ 
      'node_modules/core-js/client/shim.min.js', 
      'node_modules/zone.js/dist/zone.min.js' 
     ]) 
      .pipe(concat('global.js')) 
      .pipe(rev()) 
      .pipe(gulp.dest('dist')); 
    } 
); 

これは、ここでhttps://github.com/robianmcd/hello-angular-rollup/blob/master/gulpfile.js#L125-L139

ロールアップして、角ビルドIの設定から取得され行うことができます。

私はこの方法を飲み込む使用
0

gulp.task('bundle:vendor', function() { 
    return gulp 
     .src([ 
      "node_modules/core-js/client/shim.min.js", 
      "node_modules/zone.js/dist/zone.js" 
     ]) 
     .pipe(concat("vendor.bundle.js")) 
     .pipe(gulp.dest('dist')); 

}); 
0

rollup-plugin-node-resolveプラグインを追加し、あなたはpolyfillsなど、あなたのnode_modulesフォルダに住んでいるすべての依存関係をバンドルすることができます。 rollup-plugin-commonjsも含める必要があります。

関連する問題