In einem Node.js-Modul muss ich einen Initialisierungscode ausführen, etwas Code, der nur einmal ausgeführt wird, um eine YAML-Konfigurationsdatei beim Start meiner Anwendung zu parsen.Wie Node.js Modulinitialisierung richtig ausgeführt wird
Als Node.js Novize, habe ich festgestellt, dass Module einmal geladen werden, und nur einmal (und das ist sehr fein so). Ich meine:
// ./mymodule.js
console.log('mymodule.js was run');
... zeigt die angegebene Nachricht nur einmal, auch wenn ./mymodule.js
in mehreren geladenen Module benötigt wurde. Und das ist in Ordnung.
Also, für meine init-Code, kann ich mir vorstellen, es zu implementieren einfach so:
// ./mymodule.js
function mymodule_init()
// Parse my config file
// ...
// Done
}
// Run my init:
mymodule_init();
console.log('mymodule.js was run');
Aber ist es der richtige Weg, um meine Initialisierung Code auszuführen? Gibt es nicht einen reguläreren Weg dazu, wie zB eine Art "module_init
" -Ereignis zu abonnieren, was garantieren würde, dass mein Init-Code einmal und nur einmal ausgeführt würde?
Hinweis: Ich fand diese SO-Link über die Frage: Initialize nodejs module once, use many times, aber es gibt keine wirklich offene Antwort darüber.
Ihre Antwort gut funktioniert und ist besser geschrieben als mein Beispiel, aber es ist nicht wirklich auf die Frage antworten, ich meine, Kann ich dem Node.js-Cache offiziell vertrauen, dass dieser Code nur einmal ausgeführt wird? – yolenoyer