如何使用 Gulp.js 将多个 CommonJS 模块合并到一个 JS 文件中?

How do I combine multiple CommonJS modules in a single JS file with Gulp.js?

我已经将 Gulp.js 用于各种不同的实现,其中一些只是关于单个 JavaScript 源文件的简单明了的缩小,其中一些是缩小和复制多个文件,而其他人则围绕着使用 browserify 并将相互依赖的多个文件组合成一个缩小的文件(可选择在两者之间使用 Babel 进行转译等)。

然而最近,我遇到了一个独特的(对我来说)场景,我从未在我的任何实现中涉及过:将多个 CommonJS 模块文件连接到一个缩小的构建文件中。

考虑以下示例:

有一个名为 common.js 的通用文件,其内容如下 -

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

然后还有另一个(比如 index.js)使用此文件公开的功能之一 -

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

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

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

当我提供 index.js 作为条目时,有没有办法连接两个文件?如果它是用于 ES6 模块甚至 AMD,我可以使用 browserify。并不是说我还没有尝试过,但是将它用于浏览器中永远不会 运行 的东西听起来很奇怪。

感谢任何帮助。

环顾四周并发现没有人谈论过做那样的事情(据我所知),我得出结论,根本不需要模块串联。

串联不会起到任何作用(与在网络上不同),目标文件或(文件)将驻留在同一本地目录中。我试图解决的问题根本就不存在。因此,我决定为每个源文件维护一个目标文件。