我一直在使用nodejs编写模块,代码如下:
module.exports = function (logger, db, external,constants) {
return {
//something
}
}
最近我的团队中有人建议将整个脚本包装在一个函数中,以避免全局变量混淆,就像这样:
(function () {
'use strict';
module.exports = function (logger, db, external,constants) {
return {
//something
}
}
}());
我了解这种做法通常用于客户端代码。但在nodejs服务器端,是否需要使用此方法呢?我认为在nodejs中没有真正的全局作用域,只有module.exports是真正可访问的,无论我们在脚本文件中写什么(当然不要过度使用)。