Javascript 带有Browserify模块的参数
我使用具有Browserify的模块,如下所示:Javascript 带有Browserify模块的参数,javascript,module,browserify,Javascript,Module,Browserify,我使用具有Browserify的模块,如下所示: module.exports = (function() { 'use strict'; var hide = function(elementId) { var element = document.getElementById(elementId); element.style.opacity = 0; }; return hide; }()); 当我在我的模块中使用“do
module.exports = (function() {
'use strict';
var hide = function(elementId) {
var element = document.getElementById(elementId);
element.style.opacity = 0;
};
return hide;
}());
当我在我的模块中使用“document”时,我应该这样进入争论吗
文档、窗口、导航器、XMLHttpRequest的Idem
module.exports = (function(document) {
...
}(document));
无论答案是什么,您能解释一下原因吗?浏览将每个模块包装在一个函数中。额外的包装没有任何优势。将文档或任何全局文件作为参数传递也不会赢得任何东西。您可以编写浏览器模块,就像它们位于节点模块的位置一样。只需将每个文件视为在第一次调用时调用的一个大函数
require
,因此我直接编写以下内容:
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
};
})();
如果你有两个问题,最好同时问两个独立的问题。