/ / Browserify - ファイルを縮小して連結します - javascript、node.js、browserify

javify、node.js、browserifyのファイルを縮小して連結するためのBrowserify

私は純粋にWebベースのアプリケーション(ノードサーバーなし)を持っており、Webアプリケーションの各ページにすべてのJSファイルとCSSファイルをバンドルできるようにしたいと考えています。

私はGulpを使用して、私を単純に縮小して連結しましたJSとCSSのファイルを1つのバンドルにまとめましたが、ファイルを指定した順番がランダムに出てきたことがわかりました。私は試した gulp-order よりランダムな結果を持つ他のストリーム順序付けモジュール

やってみたい browserify 私は2つのことにこだわっています

  1. 私はする必要がありますか module.exports browserifyを使用しているとき? 私のWebアプリケーションは非常に基本的なものだと考えてください。jQuery、ブートストラップ、および自分のライブラリが必要です。正しい順序でファイルを含める必要があるという複雑さはありません
  2. なぜ私が使用しようとする 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
  1. できるようにしたい場合は require アプリケーションの他の部分にあるモジュール/コードを使用する必要があります module.exports。それ以外の場合は、何もエクスポートする必要はありません。

  2. Browserifyは、依存関係のみをバンドルします。これは再帰的にも行います。つまり、アプリケーションにライブラリaが必要であり、ライブラリaにライブラリbが必要な場合、browserifyはコード、ライブラリa、ライブラリbをバンドルします。