如何使用 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。并不是说我还没有尝试过,但是将它用于浏览器中永远不会 运行 的东西听起来很奇怪。
感谢任何帮助。
环顾四周并发现没有人谈论过做那样的事情(据我所知),我得出结论,根本不需要模块串联。
串联不会起到任何作用(与在网络上不同),目标文件或(文件)将驻留在同一本地目录中。我试图解决的问题根本就不存在。因此,我决定为每个源文件维护一个目标文件。
我已经将 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。并不是说我还没有尝试过,但是将它用于浏览器中永远不会 运行 的东西听起来很奇怪。
感谢任何帮助。
环顾四周并发现没有人谈论过做那样的事情(据我所知),我得出结论,根本不需要模块串联。
串联不会起到任何作用(与在网络上不同),目标文件或(文件)将驻留在同一本地目录中。我试图解决的问题根本就不存在。因此,我决定为每个源文件维护一个目标文件。