将默认参数传递给browserify模块

时间:2014-04-29 23:15:50

标签: javascript jquery node.js commonjs browserify

我正在重构一个javascript代码库并正在实现,但我是节点的新手。我可能遇到这样的代码:

foo.js

var foo = {};
foo.bar = function(baz) {
    $('body').append(baz)
}

然后我将重构为以下内容:

foo.js

var $ = require('jquery')(window);
var foo = {};
foo.bar = require('./bar');

bar.js

module.exports = bar = function(baz) {
    $('body').append(baz);
}

调用foo.bar(baz)时,将jQuery对象从foo.js传递给bar.js的正确方法是什么,而不会干扰baz参数?

1 个答案:

答案 0 :(得分:4)

只需将var $ = require('jquery')(window)添加到需要jQuery的每个模块中!

调用解析到同一路径的require将返回该模块的缓存副本:

http://nodejs.org/api/modules.html#modules_caching