在所有Node应用程序上扩展Object.prototype.myNewMethod

我刚刚开始在NodeJs,所以我不知道这是否是一个很好的做法,对不起

我有我的对象实现添加一个合并方法,我创build的所有对象,所以我可以合并到一个不同的对象。

Object.prototype.merge = function(source){ //...my code here return this; } 

所以我想知道如何让我的Node应用程序中的所有模块都可用?

我已经阅读了这本优秀的书 ,我可以为它创build一个模块 ,然后调用utils.merge(obj1, obj2)

但即使如此,我宁愿继续使用我的对象的实现,而只是调用obj1.merge(obj2)

有没有办法做到这一点?

提前致谢

只要把你的实现放在一个文件中,然后在你的应用程序的主要.js文件的任何其他东西之前。

  • objectmerge.js ;

    Object.prototype.merge = function(){/ body /};

  • main.js

    要求( 'objectmerge.js'); //继续你的代码

这样,您的objectmerge.js脚本将首先运行,然后再修改全局Object 。 不过,我build议不foo.merge(bar) ,因为它不是常见的做法(它允许你在没有明确定义Object.prototype.merge的文件中使用foo.merge(bar)