gpt4 book ai didi

javascript - 在 Node 中使用串联的简单 JS require/include/import 工具

转载 作者:太空宇宙 更新时间:2023-11-04 02:37:12 28 4
gpt4 key购买 nike

我正在寻找一个简单的 JavaScript require/concat 工具,用于 Node 中的 JavaScript。

例如,假设我有 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);
}
}

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

最后两个文件具有依赖关系。我想知道是否有一个命令行 Node 工具可以使用串联来构建这些 Node ,以用适当的依赖项替换每个需要注释/语句/函数调用。 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 对于您来说实际上是一个很好的解决方案。我知道您在评论中提到事实并非如此,但是您看到过这些选项吗?

--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.

https://github.com/substack/node-browserify

关于javascript - 在 Node 中使用串联的简单 JS require/include/import 工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21228200/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com