расширение Object.prototype.myNewMethod на все мое приложение Node - PullRequest
1 голос
/ 18 марта 2011

Я только начал в NodeJs, поэтому я не знаю, хорошая ли это практика или нет, извините: (

У меня есть реализация Object, которая добавляет метод слияния ко всем объектам, которые я создаю, так что я могу объединять разные объекты в одном.

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

Итак, я хотел бы знать, как я могу сделать это доступным для всех модулей в моем приложении Node?

Я прочитал эту превосходную книгу , что я мог бы создать модуль для этого и затем вызвать utils.merge(obj1, obj2), например.

Но даже в этом случае я бы предпочел вместо этого использовать реализацию моего объекта и просто вызвать obj1.merge(obj2)

есть ли способ сделать это?

Заранее спасибо

1 Ответ

1 голос
/ 18 марта 2011

Просто поместите свою реализацию в файл и потребуйте ее прежде всего в главном .js файле вашего приложения.

  • objectmerge.js;

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

  • main.js:

    требуется ( 'objectmerge.js'); // продолжаем с вашим кодом

Таким образом, ваш objectmerge.js скрипт будет запускаться первым и изменять глобальный Object раньше всего. Тем не менее, я бы рекомендовал против этого, так как это не является обычной практикой (и это позволяет вам использовать foo.merge(bar) в файле, где вы явно не определили Object.prototype.merge.

...