モジュール開発では、JavaScript ファイルがモジュールであり、モジュール内で定義された変数と関数は、デフォルトでは外部から使用できません。Node.js モジュール メンバーのインポートとエクスポートについては、以下で詳しく説明します。
エクスポートとrequire()
Node.js は開発者にシンプルなモジュール システムを提供します。exports はモジュールによって公開されるインターフェイスであり、require0 はモジュールのインターフェイスを外部から取得する、つまりモジュールのエクスポート オブジェクトを取得するために使用されます。ファイル モジュール内の他のファイル モジュールの内容を取得したい場合は、まず require0 メソッドを使用してモジュールをロードする必要があります。ロードされたモジュールで、exports または module.exports オブジェクトを使用して変数、関数などを開きます。 require0 関数の機能は、ファイルをロードし、ファイル内の module.exports オブジェクト インターフェイスを取得することです。
以下では、例 2-3 を使用して、Node.js でモジュール メンバーをインポートおよびエクスポートする方法を示します。
(1) C:code\kchapter02Wemo01 ディレクトリを作成し、このディレクトリにロードモジュールとして info.js ファイルを作成し、以下のコードを記述します。
const add = (nl, n2) => nl + n2;
exports.add = add;
上記のコードでは、コードの最初の行は、加算関数を実装する add() 関数を宣言しています。この関数には 2 つのパラメータ nl と n2 があり、関数本体で nl と n2 の加算の結果を返します。コードの中で expors が使用されています。オブジェクトは add() をモジュールの外側に開きます。ここで、等号の左側にある add は expors オブジェクトの属性名を表し、等号の右側にある add は実装された add() の数。
(2)demo01ディレクトリに新規b.jsファイルを作成し、そのb.jsモジュールにfo.jsモジュールをインポートし、以下のコードを記述します。
const info = require('./info');
//模块导入时,模块的后缀。js是可以省略的
console.log(info.add(10, 20)); // 30
上記のコードでは、l 行のコードで require0 メソッドを使用して imfo.js モジュールをロードしています。info.js と b.js は同じディレクトリにあるため、相対パスを使用して、モジュールに「√」を追加します。カレントディレクトリ。ロードが完了すると、exports オブジェクトが返されます。このオブジェクトには、ロードされたモジュールの外部に公開されている関数の値が含まれます。
(3) コマンドラインツールを開き、b.js ファイルが存在するディレクトリに移動し、「node b.js」コマンドを入力すると、b.js ファイルの実行結果は図のようになります。
Nodejs のモジュール開発の手順を次のように要約します。
(l) エクスポート オブジェクトを通じてモジュール内のメンバーをエクスポートします。
(2) require0 メソッドを通じて依存モジュールをインポートします。