/ / Node.js: Haben Variablen in Module.exports Global? - Javascript, node.js

Node.js: Haben Variablen in Module.exports Global? - javascript, node.js

Ich versuche die Variable "Taschenrechner" zu deklarierenglobal, damit es nicht pro Anfrage erstellt wird, da dies die Code-Performance beeinträchtigt. Meine Lösung besteht darin, es innerhalb des Blocks module.exports zu deklarieren und an die Methode zu übergeben, die es verwendet. Würde dies garantieren, dass "Rechner" nicht auf Anfrage erstellt wird?

var awesomeModule = require(__dirname + "/../awesomeModule");

var calculate = module.exports = {
method: "get",
route: "/get_calulation",
handler: function(request, response, next) {
var id = request.query.id;
var calculatorVersion = request.query.calculatorVersion;
var calculator = awesomeModule.getCalculator(calculatorVersion);

doCalculation(id, calculator);

}
};

var doCalculation= calculate .doCalculation= function(id, calculator) {
calculator(id);
};

Antworten:

2 für die Antwort № 1

Ja. Dateien, die Sie mit einschließen require() werden einmal geladen und ausgeführt und dann zwischengespeichert. Die Leistung ist mir jedoch egal. Kleinere Funktionen werden schnell analysiert, und für größere Funktionen ist es sinnvoll, sie trotzdem in separaten Dateien abzulegen. In diesem Fall würde ich mich auf die Codequalität konzentrieren und nicht auf die Leistung.