私は純粋にWebベースのアプリケーション(ノードサーバーなし)を持っており、Webアプリケーションの各ページにすべてのJSファイルとCSSファイルをバンドルできるようにしたいと考えています。
私はGulpを使用して、私を単純に縮小して連結しましたJSとCSSのファイルを1つのバンドルにまとめましたが、ファイルを指定した順番がランダムに出てきたことがわかりました。私は試した gulp-order
よりランダムな結果を持つ他のストリーム順序付けモジュール
やってみたい browserify
私は2つのことにこだわっています
- 私はする必要がありますか
module.exports
browserifyを使用しているとき? 私のWebアプリケーションは非常に基本的なものだと考えてください。jQuery、ブートストラップ、および自分のライブラリが必要です。正しい順序でファイルを含める必要があるという複雑さはありません - なぜ私が使用しようとする
browserify
コマンドラインではなく、ビルドファイルを使って、それが必要とするすべてのものを束ねるように見えるでしょうか?私は、私のapp.js
がありますrequire()
に
例えば。
var browserify = require("browserify");
var fs = require("fs");
var b = browserify();
b.add("./app.js");
b.transform({
global: true
}, "uglifyify");
b.bundle()
.pipe(fs.createWriteStream("./bundle.js"));
私が走るとき browserify build.js
おそらく100ファイルを標準出力に出力します。私は実行すると何が起こるかを再現しようとしています browserify -g uglifyify app.js > bundle.js
- >これはapp.jsからのすべてのrequires()を取り、それを新しいファイルにバンドルします。
回答:
回答№1は1できるようにしたい場合は
require
アプリケーションの他の部分にあるモジュール/コードを使用する必要がありますmodule.exports
。それ以外の場合は、何もエクスポートする必要はありません。Browserifyは、依存関係のみをバンドルします。これは再帰的にも行います。つまり、アプリケーションにライブラリaが必要であり、ライブラリaにライブラリbが必要な場合、browserifyはコード、ライブラリa、ライブラリbをバンドルします。