1. ホーム
  2. javascript

[解決済み] Gulpでスクリプトを順番に連結する

2022-04-19 03:18:47

質問

例えば、Backboneなどでプロジェクトを構築しているときに、スクリプトを特定の順番で読み込む必要があるとします。 underscore.js の前に読み込む必要があります。 backbone.js .

スクリプトを順番に連結するにはどうしたらいいのでしょうか?

// JS concat, strip debugging and minify
gulp.task('scripts', function() {
    gulp.src(['./source/js/*.js', './source/js/**/*.js'])
    .pipe(concat('script.js'))
    .pipe(stripDebug())
    .pipe(uglify())
    .pipe(gulp.dest('./build/js/'));
});

のスクリプトの順番は正しいのですが。 source/index.html しかし、ファイルはアルファベット順で整理されているので、gulp は underscore.js の後に backbone.js のスクリプトの順番を変更しました。 source/index.html は関係なく、ディレクトリ内のファイルを参照します。

そこで、どなたかお分かりになる方はいらっしゃいますか?

私が持っている最良のアイデアは、ベンダースクリプトの名前を 1 , 2 , 3 のように、適切な順序を与えることができますが、私はこれが好きかどうかわかりません。

もっと勉強すると、Browserifyは素晴らしいソリューションだとわかりました。最初は面倒ですが、素晴らしいです。

解決するには?

最近、AngularJSアプリを構築する際に、Gruntで同じような問題が発生しました。以下は 質問 投稿しました。

結局どうしたかというと、gruntのconfigで明示的にファイルを順番に並べることにしました。すると、コンフィグファイルは以下のようになります。

[
  '/path/to/app.js',
  '/path/to/mymodule/mymodule.js',
  '/path/to/mymodule/mymodule/*.js'
]

Gruntはどのファイルが重複しているかを把握し、それらをインクルードしないようにすることができます。Gulpでも同じ手法が使えます。