5
私はその後、私は戻って'undefined'
を得るREPLノードで「静的メソッド」を使用してオブジェクト、関数、日付などを増やすことはできますか?
require("./augs");
typeof Object.foo
を入力
Object.foo = "bar";
が含まれているNode.jsのモジュール "のAUG" を作成した場合。
我々はフロントエンドとバックエンドの間にいくつかのコードを共有しようとしているなどObject
に追加した便利なメソッドに依存している弊社のWebアプリ、Function
、Date
、内のコードを大量に持っているが、それはノードのように思えますこれらのコンストラクタ関数をリセットします。そうでなければ、指定されたモジュールの変更が他のモジュールに漏れないようにします。これはかなりスマートで保護レベルは高く評価されますが、「私がやっていることは分かっていますが、私はObject
を増強させてください」と言う方法がありますか?このような
exports.augment = function(o) {
o.foo = "bar";
}
増補Object
:augs.js
を想定し
ええ、これはうまくいくと思います。私は私たちの(かなり大きい) 'augs.js 'を輸出モジュールに変換しなければならないだろう。あるモジュールの 'Object'が別のモジュールの' Object'ではないことを指摘してくれてありがとう。 – Domenic
@lwburkあなたは、異なるモジュールで異なるオブジェクトについて詳しく説明できますか? –
@Peter - 単純に言えば、モジュール内のネイティブは、そのモジュールをロードしたスクリプト内のネイティブと同じネイティブではありません。また、「モジュール1.1の現在では、モジュールでネイティブクラスを実装するために環境がどのように選択するかについての仕様は「未定義」です。つまり、各環境実装がどのように動作するかを決めることです。 http://wiki.commonjs.org/wiki/Modules/Natives –