エクスポートと module.exports の使用方法

php中世界最好的语言
リリース: 2018-04-17 15:44:21
オリジナル
7474 人が閲覧しました

今回は、exports と module.exports の使い方と、exports と module.exports を使用する際の 注意事項 について説明します。実際のケースを見てみましょう。

1.exports は module.exports の補助オブジェクトです。exports が API を外部に提供する場合、exports オブジェクトを返すには return を使用する必要があります。 2. module.exports は API を外部に直接提供することもできます

参考: https://

github.com/seajs/seajs/issues/242

オブジェクトをエクスポートします

exports は、モジュール インターフェイスを外部に提供するために使用されるオブジェクトです。 りー エクスポート オブジェクトにメンバーを追加するだけでなく、return を使用して外部にインターフェイスを直接提供することもできます。 りー

return ステートメントがモジュール内の唯一のコードである場合は、次のように簡略化することもできます:

define(function(require, exports) {
 // 对外提供 foo 属性
 exports.foo = 'bar';
 // 对外提供 doSomething 方法
 exports.doSomething = function() {};
});
ログイン後にコピー
上記の形式は、JSONP モジュールの定義に特に適しています。

特記事項:以下の書き方は間違いです!

りー

正しい書き方は、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() {}
 };
});
ログイン後にコピー
y.js では、上記の x.js は次のように呼ばれます:
define(function(require, exports, module) {
 // 正确写法
 module.exports = {
  foo: 'bar',
  doSomething: function() {}
 };
});
ログイン後にコピー
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:

vue の配列変更検出の問題

JS では、ファイルのアップロード時に進行状況バーが表示されます

以上がエクスポートと module.exports の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!