我使用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));
无论答案是什么,你能解释一下原因吗?
答案 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
};
})();