JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – Nodejs:在函数调用中包装整个脚本大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在Nodejs中编写模块如下: @H_200_2@module.exports = function (logger,db,external,constants) { return { //something } }

最近我的团队中的某些人建议整个脚本应该包含在一个函数中,以避免全局混淆变量,如下所示:

(function () {
    'use Strict';
    module.exports = function (logger,constants) {

        return {
               //something
        }
    }

}());

据我所知,这种做法通常用于客户端代码.但是在Nodejs的服务器端这是必需的吗?我认为在Nodejs中确实没有全局范围,只有module.exports是可以访问的,无论我们在脚本文件中编写什么(当然不要在这里疯狂).

解决方法

不,Node.js不需要 @L_262_0@s.

它们可用于可能在多个环境中使用的任何脚本(UMD).

但是,Node.js执行的每个模块/文件都有一个“模块范围”,类似于IIFE提供的范围,as described under “Globals”

尽管如此,Node.js仍然存在全局范围.当模块创建全局时,它将在同一进程使用的其他模块中可访问.

foo = 'bar'; // lack of `var` defines a global

console.log(global.foo); // 'bar'

大佬总结

以上是大佬教程为你收集整理的javascript – Nodejs:在函数调用中包装整个脚本全部内容,希望文章能够帮你解决javascript – Nodejs:在函数调用中包装整个脚本所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。