【问题标题】:Simple JS require/include/import tool using concatenation in node在节点中使用连接的简单 JS 需要/包含/导入工具
【发布时间】: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);
    });
}

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

【问题讨论】:

  • 我想你在找Browserify
  • @elclanrs browserify 为构建的文件添加了许多未处理的包装代码。我正在寻找更简单的东西。
  • 很多?这就是 Browserify 添加的所有 AFAIK:gist.github.com/elclanrs/cbb2d384d5ee9e3a1a30,以及每个模块的小 require 函数。

标签: javascript node.js requirejs gruntjs


【解决方案1】:

我认为 Browserify 实际上对你来说是一个很好的解决方案。我知道你在 cmets 中提到它不是,但你见过这些选项吗?

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-27
    • 2018-09-05
    • 2018-10-29
    • 1970-01-01
    • 2017-02-03
    • 2021-10-14
    • 2020-01-26
    • 2018-02-26
    相关资源
    最近更新 更多