NodeJs Module

1279 ワード

NodeJs略述
NodeJsはCommonJSを使用していますので、NodeJsではファイルはモジュールです.
Node.jsのモジュールは二つの種類に分けられています.一つは元のモジュールで、一つはファイルモジュールです.Node.exportsとrequireの2つのオブジェクトが提供され、ここでexportsはモジュール公開インターフェースであり、外部からモジュールインターフェース、すなわち取得モジュールのexportオブジェクトを取得するために使用される.
ノードJsのロード
NodeJsモジュール使用
くり:
  • モジュール
  • を作成します.
    const NAME = 'kerison';
    
    function hi(name) {
        name = name || NAME;
        console.log('Hi ! ' + name);
    }
    
    function bye() {
        console.log('Goodbye !');
    }
    
    target = {
        NAME: NAME,
        hi: hi,
        bye: bye
    }
    
    //   
    // exports.NAME = NAME,
    // exports.hi = hi;
    // exports.bye = bye;
    
    //   
    // module.exports.NAME = NAME,
    // module.exports.hi = hi;
    // module.exports.bye = bye;
    
    //   
    // exports = target;
    
    //   
    // module.exports = target;
    
    exports = module.exports = target
    
  • 使用モジュール
  • const hello = require('./src/test/hello');
    console.log(hello);
    
  • 結果
  • // 1 ,2 4 
    { NAME: 'kerison', hi: [Function: hi], bye: [Function: bye] }
    //3
    {}
    
  • 解析
  • モジュールの導出はexportを通じて外部に暴露されたもので、exportとmodule.exportはデフォルトでは対象の参照を指すので、直接対象の上に導き出すのは同じで、新たに値を賦与すれば相応の引用は修正され、moduleが最終的に導き出すmodule.exportsが指す引用は4つの結果があるが、3つは結果がない.
  • 質問
  • なぜexportsを設計したのですか?簡単にエクスポートできますか?