0

私はさまざまな実装に Gulp.js を使用してきました。そのうちのいくつかは、単一の JavaScript ソース ファイルのプレーンで単純な縮小のみであり、いくつかは複数のファイルの縮小とコピーであり、他のものは browserify を使用して結合していました。相互に依存する複数のファイルを 1 つの縮小されたファイルに変換します (オプションで、変換のために間に Babel を使用するなど)。

しかし最近、私の実装ではカバーしたことがない (私にとって) ユニークなシナリオに出くわしました: 複数の CommonJS モジュール ファイルを 1 つの縮小されたビルド ファイルに連結することです。

次の例を検討してください。

次の内容で名前が付けられた共通ファイルがありますcommon.js-

module.exports.add = (a, b) => a + b;
module.exports.subtract = (a, b) => a - b;
module.exports.foo = ...

そして、index.jsこのファイルが公開する関数の1つを使用する別のもの(たとえば)があります-

const common = require('./common');

const sum = common.add(1, 2);

console.log(`The sum is ${sum}.`);

index.jsエントリとして提供するときに両方のファイルを連結する方法はありますか? ES6 モジュールや AMD の場合でも、browserify を使用できたはずです。まだ試したわけではありませんが、ブラウザーで決して実行されないものに使用するのは奇妙に思えます。

どんな助けでも大歓迎です。

4

1 に答える 1

1

いろいろ調べた結果、(私の知る限り)そのようなことをすることについて誰も話していないことがわかったので、モジュールの連結はまったく必要ないと結論付けました。

連結は (Web とは異なり) 目的を果たさず、ターゲット ファイルまたは (ファイル) は同じローカル ディレクトリに存在します。私が解決しようとしていた問題は、そもそも存在すらしていません。したがって、ソース ファイルごとに 1 つのターゲット ファイルを維持することにしました。

于 2019-08-09T20:14:52.000 に答える