[解決済み] requireへの引数の渡し方(モジュールのロード時)
2022-06-28 14:35:11
質問
requireでモジュールを読み込む際に、引数を渡すことは可能ですか?
私はログイン機能を提供するlogin.jsというモジュールを持っています。これはデータベース接続を必要とし、私は同じデータベース接続を私のすべてのモジュールで使用したいです。今、私はデータベース接続を指定できる関数login.setDatabase(...)をエクスポートし、それはうまく動作します。しかし、私はむしろモジュールをロードするときにデータベースと他の要件を渡したいのです。
var db = ...
var login = require("./login.js")(db);
私はNodeJSでかなり新しいですし、通常はJavaとSpring Frameworkを使用して開発しているので、はい...これはコンストラクタ注入です :) 私が上で提供したコードのようなことをすることは可能ですか?
どのように解決するのですか?
のコメントに基づいて この回答 のコメントに基づいて、私はあなたがやろうとしていることをこのようにやっています。
module.exports = function (app, db) {
var module = {};
module.auth = function (req, res) {
// This will be available 'outside'.
// Authy stuff that can be used outside...
};
// Other stuff...
module.pickle = function(cucumber, herbs, vinegar) {
// This will be available 'outside'.
// Pickling stuff...
};
function jarThemPickles(pickle, jar) {
// This will be NOT available 'outside'.
// Pickling stuff...
return pickleJar;
};
return module;
};
私はほとんどすべてのモジュールをこのように構成しています。 私にとってはうまくいっているように見えます。
関連
-
[解決済み] AWS lambda function error - Unable to import module 'index': エラー
-
[解決済み] ReferenceError: describe は定義されていません NodeJs
-
[解決済み] エラーです。Cannot find module 'ejs'
-
[解決済み] "致命的なエラーです。grunt "コマンドを実行すると、"Unable to find local grunt. "と表示されます。
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] npmスクリプトへのコマンドライン引数の送信
-
[解決済み] Node.jsで "Cannot find module "エラーを解決するにはどうしたらいいですか?
-
[解決済み] JavaScriptの "require "とは何ですか?
-
[解決済み】Node.jsのrequireとES6のimport/exportを使い分ける。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エラー: nodejs の get 呼び出しで getaddrinfo ENOTFOUND が発生しました。
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み】Node.jsのエラーECONNRESETをデバッグするにはどうすればよいですか?
-
[解決済み】Express.js req.bodyが未定義です。
-
[解決済み】Mongooseで、日付でソートするにはどうしたらいいですか?(node.js)
-
[解決済み] nodeファイルの先頭にある"/usr/bin/env node "は、具体的には何をするのですか?
-
[解決済み] ExpressJS : res.redirect()が期待通りに動作しない?
-
[解決済み] nvm は npm config の "prefix" オプションと互換性がありません。
-
[解決済み] ノードのバージョンを管理するためのnまたはnvm - 各バージョンのグローバルモジュールを保持することは良いアイデアですか?
-
[解決済み] pickleを使ってdictを保存するにはどうしたらいいですか?