[nodeJS編]nodeJSの02-モジュール詳細
4936 ワード
モジュール
少し大きいプログラムを書くときは、コードをモジュール化するのが一般的です.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モジュールがニーズを満たすことができない限り、バイナリモジュールを簡単に使用しないでください.そうしないと、ユーザーは悲鳴をあげます.