我可以使用“静态方法”来扩充对象、函数、日期等吗?在节点?
如果我创建一个 Node.js 模块“augs”,其中包含
Object.foo = "bar";
然后输入 REPL,
require("./augs");
typeof Object.foo
我会返回 'undefined'
。
我们的 Web 应用程序中有大量代码依赖于添加到 Object
、Function
、Date
等的便捷方法。尝试在前端和后端之间共享一些代码,但 Node 似乎重置了这些构造函数,或者以某种方式阻止给定模块中对它们的更改泄漏到其他模块中。虽然这非常聪明,而且我很欣赏这种保护级别,但有没有办法说“我知道我在做什么;请让我增强 Object
”?
If I create a Node.js module "augs" that contains
Object.foo = "bar";
Then type in the REPL
require("./augs");
typeof Object.foo
I get back 'undefined'
.
We have a significant amount of code in our web app that relies on convenience methods added to Object
, Function
, Date
, etc. We're trying to share some code between the frontend and the backend, but it seems like Node resets these constructor functions, or somehow otherwise prevents changes to them in a given module from leaking into other modules. While this is pretty smart and I appreciate the level of protection, is there some way to say "I know what I'm doing; please let me augment Object
"?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
假设
augs.js
包含以下内容:像这样增强
Object
:注意: 假设您还导出以下函数:
那么:
Assuming
augs.js
contains the following:Augment
Object
like this:Note: Assume you also export the following function:
Then: