node.js - 隔离 Node.js 中模块之间的全局更改

标签 node.js global-variables

看起来如果我修改,比如说,Object.prototype,它似乎在所有模块中都是可见的。如果可以隔离这些全局更改,从而保护模块免受不需要的模块的影响,那就太好了。

这有可能吗?

最佳答案

Object.prototype 是一个对象,并且只有一个对象,因此在一处修改它会影响对该对象的所有引用(就像任何对象一样)。这通常被认为是一个好处,因为它使得模块像 colors可能的。没有必要保护模块免受对全局原型(prototype)所做的更改,因为这些更改应该只是扩展。如果您或其他人的模块正在修改内置方法/属性,那么这首先可能是不好的做法。

虽然您没有给出示例,但我认为您可能想要创建本地函数(未附加到原型(prototype)),或者考虑使用 inheritance解决您对特定对象的担忧。

关于node.js - 隔离 Node.js 中模块之间的全局更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15940207/

相关文章:

javascript - 如何使输入值成为全局变量?

r - 使用 utils::globalVariables 避免 R 包检查期间的绑定(bind)错误

ruby-on-rails - 一旦浏览器关闭,销毁全局变量或将其设置为 nil

javascript - 通过 Node.js 和 Websocket 在服务器端重用 Backbone.js 模型

javascript - 没有任何Web框架的原始Node.js

javascript - 如何让 Node REPL 只打印结果?

angularjs - NPM 开始抛出错误

node.js - AES256密码和iv,正确的方法

c - C 中的外部声明和头文件

c++ - 实现在 C++ 类中使用的全局变量的最佳方法