私は現在、単一のES6モジュールをエクスポートするbowerパッケージを作成しています。bowerパッケージの依存関係をロールアップバンドルから守るにはどうすればよいですか?
パッケージのdistをビルドするときに、ロールアップを使用してすべての内部モジュールを1つのモジュールに移動し、1つのモジュールのみをエクスポートします。
ガルプタスク:
// Bundle ES6 modules into a single file
gulp.task('bundle', function(){
return gulp.src('./src/GuacaMarkdownEditor.js', {read: false})
.pipe(rollup({
// any option supported by rollup can be set here, including sourceMap
// https://github.com/rollup/rollup/wiki/JavaScript-API
format: 'es6',
sourceMap: true
}))
.pipe(sourcemaps.write(".")) // this only works if the sourceMap option is true
.pipe(gulp.dest('./dist'));
});
このすべてが正常に動作しますが、私は私のモジュール(jQueryの、フォント素晴らしい)をバンドルしたくない他の亭パッケージからいくつかの依存関係をインポートしています。
私の問題は次のとおりです。私のコードをバンドルし、バウアーパッケージのES6インポートステートメントを保持するにはどうすればよいですか?
例:
"use strict";
import $ from 'jquery'; // dont bundle this!
import GuacaAirPopUp from './GuacaAirPopUp'; // bundle this!
export
default class GuacaMarkdownEditor {
...
}
への外部残るべきモジュールのIDのリスト?単一の生成されたes2015バンドルでbrowserifyを実行すれば十分ですか? –
Browserifyもこれを処理する必要がありますが、私の現在のワークフローでは、このモジュールを別のアプリケーションにインポートしてバンドルしています。 私のレポで簡単な使用例を見ることができます:https://bitbucket.org/technicallycompatible/guacamarkdown/src – anthr