Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在节点中使用连接的简单JS require/include/import工具_Javascript_Node.js_Requirejs_Gruntjs - Fatal编程技术网

Javascript 在节点中使用连接的简单JS require/include/import工具

Javascript 在节点中使用连接的简单JS require/include/import工具,javascript,node.js,requirejs,gruntjs,Javascript,Node.js,Requirejs,Gruntjs,我正在为节点中的JavaScript寻找一个简单的JavaScript require/concat工具 例如,假设我有4个JS文件: each.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

我正在为节点中的JavaScript寻找一个简单的JavaScript require/concat工具

例如,假设我有4个JS文件:

each.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);
}
// 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);
    });
}
// require: each.js


// require: on.js


// require: onEach.js
onEach.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);
}
// 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);
    });
}
// require: each.js


// require: on.js


// require: 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);
}
// 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);
    });
}
// require: each.js


// require: on.js


// require: onEach.js
最后两个文件具有依赖关系。我想知道是否有一个命令行节点工具可以使用连接来构建这些节点,用适当的依赖项替换每个require注释/语句/函数调用。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);
    });
}
每个功能(arr、fn、范围){
对于(变量i=0,l=arr.length;i

我看过、、和其他一些工具,但还没有找到我喜欢的设置。如有任何建议,将不胜感激。:)

我认为Browserify实际上是一个很好的解决方案。我知道你在评论中提到它不是,但是你看到这些选项了吗

--no-builtins

Turn off builtins. This is handy when you want to run a bundle in node which
provides the core builtins.

--no-commondir

Turn off setting a commondir. This is useful if you want to preserve the
original paths that a bundle was generated with. 

--bare 

Alias for both --no-builtins, --no-commondir, and sets --insert-global-vars
to just "__filename,__dirname". This is handy if you want to run bundles in
node.

我认为您正在寻找@elclanrs browserify,它在构建的文件中添加了大量无铅包装代码。我在找一些简单一点的东西,很多?这是所有Browserify添加的AFAIK:,以及每个模块的一个小require函数。