NodeJS基礎:モジュール

2152 ワード

少し大きなプログラムを作成するときは、コードをモジュール化するのが一般的です.NodeJSでは、一般的にコードを異なるJSファイルに合理的に分割し、各ファイルはモジュールであり、ファイルパスはモジュール名である.各モジュールの作成には、require、exports、moduleの3つの予め定義されている変数があります.
require
require関数は、現在のモジュールにおいて他のモジュールをロードして使用し、モジュール名を入力し、モジュールのあちこちのオブジェクトを返します.また、モジュール名のjs拡張子は省略することができます.以下は一例です.
var fool = require('./foo');
var foo2 = require ('./foo.js');
var foo3 = require('/home/user/foo');
var foo4 = require('/home/user/foo.js');

//  4                 
exports
exportオブジェクトは現在のモジュールの導出対象であり、モジュールの共有方法と属性を導出するために使用される.他のモジュールはrequire関数で現在のモジュールを使用した時に得られたのが現在のモジュールのexportオブジェクトです.以下の例は共有方法を導出した.
exports.hello = function(){
    console.log('Hello World!');
}
//exports       ,      ,    , :

exprots = function(){ ... };
//require        {},     fn
module
moduleオブジェクトを通じて現在のモジュールに関するいくつかの情報にアクセスできますが、最も多くの用途は現在のモジュールのエクスポートオブジェクトを置き換えることです.たとえばモジュール導出オブジェクトは標準的には普通のオブジェクトです.関数に変更するには、次のような方法があります.
module.exports=function(){
    console.log('Hello World!');
}
//     ,                
モジュール初期化
一つのモジュールのJSコードはモジュールが初めて使用された時に一回だけ実行され、実行中にモジュールのエクスポートオブジェクトを初期化します.その後、キャッシュされたエクスポートオブジェクトは、繰り返し利用される.
メインモジュール
コマンドラインパラメータをNodeJSに渡すことで、プログラムを起動するモジュールをメインモジュールと呼びます.メインモジュールは、プログラム全体を構成する他のモジュールのスケジュールを担当します.例えば以下のコマンドでプログラムを起動すると、メインモジュールとなります.
node main.js
完全な例は、例えば以下のディレクトリがあります.
-/home/user/hello/
     main.js
     -util/
         counter.js
その中のconunter.jsの内容は以下の通りです.
var i=0;

function count(){
  reutrn ++i;
}

exports.count=count;
//               i,  exports           count.
メインモジュールmain.jsの内容は以下の通りです.
var counter1 = require('./util/counter');
var counter2= require('./util/counter');

console.lg(counter1.count());
console.log(counter2.count());
console.log(counter2.count());
このプログラムを実行した結果は以下の通りです.
node main.js
1
2
3
//    ,counter.js       require         
結び目
  • NodeJSはCMDモジュールシステムを使用して、メインモジュールはプログラムのエントリポイントとして、すべてのモジュールは実行中に一回だけ初期化されます.
  • 七日間学会nodeJS