【发布时间】:2014-01-20 07:16:16
【问题描述】:
我正在为 node 中的 JavaScript 寻找一个简单的 JavaScript require / concat 工具。
例如,假设我有 4 个 JS 文件:
每个.js
function each(arr, fn, scope) {
for (var i = 0, l = arr.length; i < l; i++) {
fn.call(scope, arr[i], i, arr);
}
}
on.js
// addEventListener wrapper:
function on(target, type, callback) {
target.addEventListener(type, callback, false);
}
onEach.js
// require: each.js
// require: on.js
// Add an event listener to multiple elements:
function onEach(targets, type, callback) {
each(targets, function(target) {
on(target, type, callback);
});
}
all.js
// require: each.js
// require: on.js
// require: onEach.js
最后两个文件有依赖关系。我想知道是否有一个命令行节点工具可以使用连接来构建这些节点,以用适当的依赖项替换每个需要的注释/语句/函数调用。 each.js 和 on.js 的构建版本将保持不变,并且 onEach.js 和 all.js 的构建版本都将如下所示:
function each(arr, fn, scope) {
for (var i = 0, l = arr.length; i < l; i++) {
fn.call(scope, arr[i], i, arr);
}
}
// addEventListener wrapper:
function on(target, type, callback) {
target.addEventListener(type, callback, false);
}
// Add an event listener to multiple elements:
function onEach(targets, type, callback) {
each(targets, function(target) {
on(target, type, callback);
});
}
我查看了grunt、gulp、RequireJS 和其他一些工具,但我还没有找到我喜欢的设置。任何建议,将不胜感激。 :)
【问题讨论】:
-
我想你在找Browserify
-
@elclanrs browserify 为构建的文件添加了许多未处理的包装代码。我正在寻找更简单的东西。
-
很多?这就是 Browserify 添加的所有 AFAIK:gist.github.com/elclanrs/cbb2d384d5ee9e3a1a30,以及每个模块的小 require 函数。
标签: javascript node.js requirejs gruntjs