[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
質問内容
Node.jsのmodule.exportsは何のためにあり、どのように使うのでしょうか?
これに関する情報が見つからないようですが、ソースコードでよく見かけるので、Node.jsのかなり重要な部分のようです。
によると Node.jsのドキュメント :
モジュール
現在の
module
. 特にmodule.exports
は、exportsオブジェクトと同じです。を参照してください。src/node.js
をご覧ください。
でも、これでは本当に困ります。
は具体的にどのようなものなのでしょうか?
module.exports
また、簡単な例としてはどのようなものがあるでしょうか?
どのように解決するのですか?
module.exports
の結果として実際に返されるオブジェクトです。
require
を呼び出します。
は、その
exports
変数は、初期状態ではその同じオブジェクトに設定されています(つまり、省略形の "alias" です)ので、モジュールのコードでは通常次のように記述します。
let myFunc1 = function() { ... };
let myFunc2 = function() { ... };
exports.myFunc1 = myFunc1;
exports.myFunc2 = myFunc2;
内部的にスコープされた関数をエクスポート (または "expose") するには、次のようにします。
myFunc1
と
myFunc2
.
そして、呼び出しコードでは
const m = require('./mymodule');
m.myFunc1();
ここで、最後の行は
require
は(通常)単なるオブジェクトで、そのプロパティにアクセスすることができます。
注意: もしあなたが
exports
を参照しなくなります。
module.exports
. したがって、新しいオブジェクト (または関数参照) を
exports
を指定した場合、その新しいオブジェクトも
module.exports
注目すべきは、追加された名前が
exports
オブジェクトは、追加する値に対するモジュールの内部スコープ名と同じである必要はないので、そうすることもできます。
let myVeryLongInternalName = function() { ... };
exports.shortName = myVeryLongInternalName;
// add other objects, functions, as required
が続きます。
const m = require('./mymodule');
m.shortName(); // invokes module.myVeryLongInternalName
関連
-
Javascript Bootstrapのグリッドシステム、ナビゲーションバー、ローテーションの説明
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] package.jsonのチルダ(~)とキャレット(^)の違いは何ですか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JSクロスドメインソリューション リアクト構成 リバースプロキシ
-
vue3レスポンシブ対応のためのsetup+ref+reactive
-
Vueはランニングライト形式のテキストを水平方向にスクロールする機能を実装している
-
vueはopenlayersを使用してスカイマップとガオードマップをロードする
-
JavaScriptの配列共通メソッド解説
-
vueディレクティブv-bindの使用と注意点
-
Vueの一般的な組み込みディレクティブの説明
-
[解決済み】Node.jsで "Cannot find module "エラーを解決するには?
-
[解決済み】React - TypeError: 未定義のプロパティ 'props' を読み取ることができない。
-
[解決済み】React Uncaught Error: 対象コンテナが DOM 要素でない [重複]。