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

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

不言
リリース: 2019-03-29 09:19:54
転載
2290 人が閲覧しました

この記事では、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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート