こんにちは私はframeworkを見つけました。ノードjsのexports.installとは何ですか?
exports.install = function(){
//code
}
が、通常、あなたはnodejs
module.exports = {
//code
}
でこのパターンは、これは同じものですか、これは何か他のものである参照してください?
こんにちは私はframeworkを見つけました。ノードjsのexports.installとは何ですか?
exports.install = function(){
//code
}
が、通常、あなたはnodejs
module.exports = {
//code
}
でこのパターンは、これは同じものですか、これは何か他のものである参照してください?
exports
は、何かをする前にmodule.exports
に対応するオブジェクトです。私はそれはいくつかのレガシーコードのためだと思うが、基本的に人々はを使用してオブジェクト全体を独自のオブジェクトまたは関数に置き換えたい場合、exports
を使用し、モジュールから機能を停止させたい場合に使用します。そうでない私の知る限り、
const mod = require('that-module');
mod.install(params, callback); // call that function
あなたが見ているフレームワークは、おそらくブートストラッププロセスの一部として、それを使用している:それは最初は少し混乱だが、基本的にexports.install
は、単にコードを呼び出すことのような何かをすることを意味しますノードエンジン自体にとって重要です。
はい、同じことです。コードを設定する2つの方法のいずれかを使用できます。
別のものはmemory
です。同じメモリを指しています。あなたは変数のようexports
を考えることができ、あなたのモジュールをエクスポートするには、この方法を使用することはできません。
このモジュールを考える:
// test.js
exports = {
// you can not use this way to export module.
// because at this time, `exports` points to another memory region
// and it did not lie on same memory with `module.exports`
sayHello: function() {
console.log("Hello !");
}
}
次のコードは、エラーを取得します:TypeError: test.sayHello is not a function
// app.js
var test = require("./test");
test.sayHello();
// You will get TypeError: test.sayHello is not a function
をmodule.exports
を使用してモジュールをエクスポートする正しい方法:
// test.js
module.exports = {
// you can not use this way to export module.
sayHello: function() {
console.log("Hello !");
}
}
// app.js
var test = require("./test");
test.sayHello();
// Console prints: Hello !
これは単に開発者のスタイルです。