为CommonJS模块使用作用域函数的常见做法,或者不必要的
Common practice to use scoped functions for CommonJS modules, or unnecessary?
我正在写我的第一个CommonJS模块。
在一个作用域函数中定义CommonJS模块是常见的做法吗?
(function() {
module.exports = ...
})();
还是这里没有值?
不,没有必要。将所有的代码包围在一个立即调用的函数表达式(生命)中是解决基于浏览器的问题的一种方法。
如果你的模块在Node.JS中使用,该模块将在它自己的作用域中执行。参见他们的文档页面的例子,没有一个使用生命。然而,如果你在浏览器中使用CommonJS模块,你需要将你的CommonJS模块与watchify或CommonJS -everywhere这样的工具捆绑在一起。这些工具将每个模块定义放入其自己的封闭函数中,实现与生命相同的保护。
相关文章:
- 如何删除除冒号、数字和'上午'或者'下午'
- 如何“;过滤器”;或者以其他方式重构该数据
- 做一个复活节彩蛋,JS动作点击5个按钮
- 如果在构造函数中有“返回”,则在 JavaScript 中的新运算符中做了什么
- 做<img>或者<画布>保存对原始(大)dataUrl对象的引用
- 闭包中的本地变量从外部更改.这是一个javascript错误,或者我做错了什么
- Javascript Date.getTime 函数没有返回正确的值,或者我做错了什么
- React + d3js:使用 React 和 d3 的一部分,或者让 d3 自己做
- KineticJS - 如何制作自己的事件,或者在物体移动时如何做某事
- 在JavaScript中,换行符实际上并不是在创建新行,有没有其他选择,或者我做错了什么
- 用于做常见事情的 JavaScript 习语
- 谷歌地图API v.3-无法显示信息窗口,或者当我这样做时,地图的中心位于设计位置
- 在jquery中是否有类似indexof()的方法?或者怎么做
- 有人能澄清拉斐尔的文件吗?(或者知道一个地方已经有人这么做了)
- 试图找出是否有一个jQuery的错误,或者如果它是我'做的事情
- Html /javascript共享脚本列表..或者用茉莉花和硒做CI
- 是否有一种方法可以在HTML中指向特定Javascript文件的函数调用?或者,我是否在这段代码中做了一些根本性的错误
- 为CommonJS模块使用作用域函数的常见做法,或者不必要的
- 我需要让用户输入任何数字和字符,并且只输入'-'或者''在田地里.我该如何用正则表达式做
- 如何在图像下面添加按钮,是我添加元素的正确方式,或者可以做得更好