ホームページ  >  記事  >  ウェブフロントエンド  >  Nodejs モジュールの簡単な理解 (例付き)

Nodejs モジュールの簡単な理解 (例付き)

不言
不言転載
2019-03-29 09:19:542232ブラウズ

この記事では、nodejs モジュールを簡単に理解できます (例とともに)。これには一定の参考値があります。必要な友人は参照できます。お役に立てば幸いです。

この短い記事は、nodejs モジュール (つまり CommonJS 仕様) をすばやく理解するために使用されます。

Essence

module.exports は値を公開するために使用されます。この値はデフォルトでオブジェクトであり、元の値として上書きすることもできます。

モジュールの値をファイルに直接記録しようとすると、次の結果が得られます:

{
  id: '.',
  exports: {}, // 默认空对象
  parent: null,
  filename: '/Users/a10.12/webpack-learning/src/module.js',
  loaded: false,
  children: [],
  paths:
   [ '...' ]
}

モジュールのexports属性を変更して、出力する必要があるものを出力する必要があります。はモジュールをインポートするために使用されます。 module.exports の値は、require が取得するものです。

使用方法

たとえば、module.js

module.exports = {
  s: 2,
}

がある場合、元の

let v = require('./module.js')

console.log(v) // 输出为 { s: 2 }

を使用した場合も同じことが当てはまります。 value は、index.js で導入されます

module.exports = 2

let v = require('./module.js')

console.log(v) // 输出为 2

module.exports はデフォルトでオブジェクトであるため、エクスポート時にオブジェクトを記述する自然な方法があります:

module.exports.s = 2

このようにして、require も取得されます{ s: 2 }。

略語

おそらく上司は module.exports が長すぎて書けないと感じたので、exports を module.exports に参照したのでしょう。そのため、2 つのことが等しいかどうかを確認してください。 true を返す場合:

console.log(exports === module.exports) // true

この機能を使用すると、オブジェクトをエクスポートするときに次のように簡単に記述することができます:

exports.s = 2

let v = require('./module.js')

console.log(v) // 输出为 2

しかし、次のように記述することはできません:

// 这样
exports = 2
// 或这样
exports = {
  s: 2,
}
// 都是不可以的

let v = require('./module.js')

console.log(v) // 输出为 {}

理由 前述したように、exports は元々 module.exports への参照にすぎず、参照先のオブジェクトに属性を追加することはできますが、上記 2 つのメソッドによって module.exports へのエクスポートの参照がオーバーライドされると、exports は無効になります。

最後に注意してください。前に述べたことが理解できない場合は、ECMAScript の参照値と元の値について理解をさらに深める必要があるかもしれません...

この記事はここで終了です, 詳細 さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの node.js チュートリアル ビデオ 列に注目してください。 ! !

以上がNodejs モジュールの簡単な理解 (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。