[nodeJS編]nodeJSの02-モジュール詳細


モジュール


少し大きいプログラムを書くときは、コードをモジュール化するのが一般的です.NodeJSでは、通常、コードを異なるJSファイルに合理的に分割し、各ファイルはモジュールであり、ファイルパスはモジュール名である.
各モジュールを記述する際には、require、exports、moduleの3つの予め定義された変数が使用できます.

require


require関数は、現在のモジュールに別のモジュールをロードおよび使用し、モジュール名を入力し、モジュールエクスポートオブジェクトを返します.

外部モジュールをインポートするパスには注意が必要です。


1)モジュール名は相対パス(./で始まる)を使用できます。


すべてのファイルが1つのディレクトリの下にあるか、1つのディレクトリの下にないかにかかわらず、./書かなければなりません.

2)モジュールの接尾辞は省略可能

var foo1 = require('./foo');
var foo2 = require('./foo.js');

3)また、以下の方法でJSONファイルをロードして使用することができます。

var data = require('./data.json');

4)または絶対パス(/またはC:などの文字で始まる)

var data = require('C:/data.json');
var data = require('User/local/data.json');

exports

1)exports            ,             。

2)      require                   exports  。

次の例では、共通の方法を導出します.
exports.hello = function () {
    console.log('Hello World!');
};

module


moduleオブジェクトを使用すると、現在のモジュールに関する情報にアクセスできますが、最も多くの用途は、現在のモジュールのエクスポートオブジェクトを置き換えることです.たとえば、モジュールエクスポートオブジェクトのデフォルトは通常のオブジェクトですが、関数に変更する場合は、次の方法を使用します.
module.exports = function () {
    console.log('Hello World!');
};

以上のコードでは、モジュールのデフォルトのエクスポートオブジェクトが関数に置き換えられます.

モジュール初期化


1つのモジュールのJSコードは、モジュールが初めて使用されたときにのみ実行され、実行中にモジュールのエクスポートオブジェクトが初期化されます.その後、キャッシュされたエクスポートオブジェクトが再利用される.

マスタモジュール


コマンドラインパラメータを介してNodeJSに渡され、プログラムを起動するモジュールをメインモジュールと呼ぶ.メインモジュールは、プログラム全体を構成する他のモジュールの完了をスケジュールします.例えば以下のコマンドでプログラムを起動する場合main.jsはメインモジュールです.

mian.js

var func = require('./count');
console.log(func.count());

count.js

var i = 0;
function count() {
  ++i;
  return i;
}
exports.count = count;

結果

liuyugang:nodeJS apple$ node man.js 
1
liuyugang:nodeJS apple$ 

バイナリモジュール


一般的にJS記述モジュールを使用していますが、NodeJSではC/C++記述バイナリモジュールもサポートされています.コンパイルされたバイナリモジュールはファイル拡張子を除く.Node以外は、JSモジュールと同じ使い方です.バイナリモジュールはオペレーティングシステムが提供するすべての機能を使用でき、無限の潜在能力を持っていますが、フロントエンドの学生にとって作成が難しく、プラットフォームをまたいで使用することが難しいため、このチュートリアルのカバー範囲内ではありません.

小結


この章では、NodeJSの基本概念と使い方について説明します.
NodeJSはJSスクリプト解析器であり、オペレーティングシステムの下でNodeJSをインストールすることは本質的にNodeJS実行プログラムをディレクトリにコピーし、このディレクトリがシステムPATH環境変数の下で、端末の下でnodeコマンドを使用できるようにする.
端末の下でnodeコマンドを直接入力すると、コマンドインタラクティブモードに入ることができ、正規表現などのJSコードクリップをテストするのに適しています.
NodeJSはCMDモジュールシステムを使用し、メインモジュールはプログラムエントリポイントとして、すべてのモジュールは実行中に一度だけ初期化されます.
JSモジュールがニーズを満たすことができない限り、バイナリモジュールを簡単に使用しないでください.そうしないと、ユーザーは悲鳴をあげます.