今回は、exports と module.exports の使い方と、exports と module.exports を使用する際の 注意事項 について説明します。実際のケースを見てみましょう。
1.exports は module.exports の補助オブジェクトです。exports が API を外部に提供する場合、exports オブジェクトを返すには return を使用する必要があります。 2. module.exports は API を外部に直接提供することもできます参考: https://
github.com/seajs/seajs/issues/242exports は、モジュール インターフェイスを外部に提供するために使用されるオブジェクトです。 りー エクスポート オブジェクトにメンバーを追加するだけでなく、return を使用して外部にインターフェイスを直接提供することもできます。 りー
return ステートメントがモジュール内の唯一のコードである場合は、次のように簡略化することもできます:define(function(require, exports) { // 对外提供 foo 属性 exports.foo = 'bar'; // 对外提供 doSomething 方法 exports.doSomething = function() {}; });
りー
正しい書き方は、return を使用するか、module.exports に値を代入することです:define(function(require) { // 通过 return 直接提供接口 return { foo: 'bar', doSomething: function() {} }; });
ヒント:exports は module.exports への単なる参照です。エクスポートがファクトリ内で再割り当てされる場合、module.exports の値は変更されません。したがって、エクスポートへの値の割り当ては無効であり、モジュール インターフェイスの変更には使用できません。
module.exports オブジェクト
現在のモジュールによって外部世界に提供されるインターフェイス。 ファクトリconstructor
に渡されるexportsパラメータは、module.exportsオブジェクトへの参照です。 exports パラメーターのみを介してインターフェイスを提供すると、開発者のすべてのニーズを満たすことができない場合があります。 たとえば、モジュールのインターフェースが特定のクラスのインスタンスである場合、module.exports を通じて実装する必要があります:define({ foo: 'bar', doSomething: function() {} });
注: module.exports への割り当ては同期的に実行する必要があり、コールバック関数
に配置することはできません。以下は機能しません:define(function(require, exports) { // 错误用法!!! exports = { foo: 'bar', doSomething: function() {} }; });
define(function(require, exports, module) { // 正确写法 module.exports = { foo: 'bar', doSomething: function() {} }; });
vue の配列変更検出の問題
JS では、ファイルのアップロード時に進行状況バーが表示されます
以上がエクスポートと module.exports の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。