使用Browserify模块的参数

时间:2015-08-21 14:12:16

标签: javascript module browserify

我使用Browserify的模块如下:

module.exports = (function() {

'use strict';

    var hide = function(elementId) {

        var element = document.getElementById(elementId);
        element.style.opacity = 0;

    };

    return hide;

}());

当我在我的模块中使用'document'时,我应该参加这样的论证吗?

文档,窗口,导航器,XMLHttpRequest

的同上
module.exports = (function(document) {

    ...

}(document));

无论答案是什么,你能解释一下原因吗?

2 个答案:

答案 0 :(得分:2)

Browserify为您包装函数中的每个模块。额外的包装没有任何优势。传递文档或任何全局作为参数也不会赢得任何东西。您可以像编辑节点模块一样编写浏览器模块。只需将每个文件视为在第一个require上调用的一个大函数。

答案 1 :(得分:1)

所以我直接写这个:

module.exports = function(elementId) {

    'use strict';

    var element = document.getElementById(elementId);
    element.style.opacity = 0;

}

如果我想返回一个有很多公共方法的对象(揭示模块模式),我必须这样做?我必须传递文件?

module.exports = (function() {

    var on = function() {

    };

    var off = function() {

    };

    return {
        on: on,
        off: off
    };

})();