【问题标题】:Arguments with Browserify modulesBrowserify 模块的参数
【发布时间】:2015-08-21 14:12:15
【问题描述】:

我像这样使用带有 Browserify 的模块:

module.exports = (function() {

'use strict';

    var hide = function(elementId) {

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

    };

    return hide;

}());

当我在我的模块中使用“文档”时,我应该像这样进入争论吗?

文档、窗口、导航器、XMLHttpRequest 的同名

module.exports = (function(document) {

    ...

}(document));

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

【问题讨论】:

  • 如果您有两个问题,最好也分别提出两个问题。

标签: javascript module browserify


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    所以我直接写这个:

    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
        };
    
    })();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-16
      • 1970-01-01
      • 2015-08-21
      • 1970-01-01
      • 1970-01-01
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多