モジュールがロードモジュールは非常に重要であり、したがって、コンパイル、書き込み、整理する方法を理解するために大規模なプロジェクトで書かれた言語の基礎となるものです。ここでは主にロードされたノードモジュールについて話をします。
主に使用1.Nodeモジュールは、モジュールが必要ロードします
- ( "./")が必要です--- package.jsonの下にこのフォルダをロードし、そうでない場合は、その後、ロードindex.js、index.node
- (「some.js」)が必要です - some.js以下、このファイルフォルダをロード
- ( "LIB / some.jsを")が必要です - some.js / libにファイルをロードします
- 現在のディレクトリnode_modules /モジュール名のファイルにロードpackage.jsonフォルダを、そうでない場合は、その後、ロードindex.js、index.node - (「モジュール名」)を必要としています。あなたは、現在のディレクトリの上に見つけることができない場合は、グローバルモジュールのロードコンテンツモジュール名のフォルダに指定されたキャッシュディレクトリを入力し、発見されていないなど、システム環境変数は、フォルダ内の負荷コンテンツモジュール名指定したパスにNODE_PATH。ディレクトリに関連して、NPMパスの設定を参照してください。
2.Node /エクスポートモジュールを作成します。module.exportsは
module.exportsは本当のインタフェースは、輸出がその援助の一つだけです。最後の呼び出しがmodule.exportsはなく、輸出に返されます。
プロパティとメソッドを収集するために、すべての輸出は、module.exportsはに割り当てられています。
もちろん、これはmodule.exportsは自身が任意のプロパティとメソッドを持っていないことを前提としています。、module.exportsは、既にプロパティとメソッドの数を持っている場合は、収集された情報は無視されますエクスポートします。
次のようにrocker.jsを変更します。
module.exportsは= 'ITをROCK!';
exports.name =関数(){
にconsole.log( '私の名前はレミーKilmisterです')。
}。
//再次引用执行rocker.js:
VARロッカー=必要(」./ rocker.js');
rocker.name(); //例外TypeError:オブジェクトROCK IT!何のメソッド「名前」を持っていません
検出されたエラー:オブジェクトのメソッドに名前を付けていなかった「ITはROCK!の」、ロッカーモジュールは、文字列を返し、収集方法の輸出の名前を無視「ROCK ITを!」。
結論:
1.モジュールは、必ずしも返す必要はありません「オブジェクトをインスタンス化します。」あなたのモジュールは、任意の有効なJavaScriptオブジェクト--boolean、番号、日付、JSON、その上の文字列、関数、配列、およびすることができます。
2.モジュールは、あなたがそれに設定何もすることができます。あなたが明示的に与えていない場合module.exportsはその後、あなたのモジュールの輸出はmodule.exportsはプロパティに設定されているすべてのプロパティとメソッドを、設定します。
例:
=関数module.exportsは(名前、年齢){
this.name =名;
this.age =年齢;
this.about =機能(){
はconsole.log(this.name + IS '' + + this.age「古い年「);
}; //フルスタックの開発を検討へようこそ-為替との通信:864 305 860
// 1--3年前、人々は終わら
能力を考えて改善し、技術的なボトルネックを克服//
};
コール:
であり、Ar(」./ rocker.js')=必要ロッカー
VAR = R&LT新しい新しいロッカー( 'オジー'、62である);
r.about(); // 62 ISは、オジー歳
あなたが特定のモジュールであれば3。タイプは、module.exportsはを使用して、
あなたは典型的なモジュール「オブジェクトのインスタンス」の場合は、輸出を使用します。
module.exportsは輸出と同様の特性を追加するためにプロパティを追加します。例えば:
module.exports.name =関数(){
にconsole.log( '私の名前レミーKilmisterは');
};
このような同様に、輸出
exports.name =関数(){
にconsole.log( '私の名前はレミーKilmisterです')。
}。
これらの2つが同じ結果を望んでいないことに注意してください。言及した先にmodule.exportsは通り、ちょうどその援助の輸出本物のインタフェースです。あなたは型にオリジナルの「オブジェクトのインスタンス」から変更する予定がない限り、輸出輸出のための推奨(オブジェクトをインスタンス化)。
注は、デフォルトのWebPACKのはES6をサポートされています。文言はES6で使用することができるため、インポート/エクスポートモジュール。
概要:使用中の1.nodejsは、輸出処理モジュールを必要とします
ES6のnodejsから2つの異なるが..におけるモジュールのインポート、エクスポート処理の違いに注意してください