J'essaie de déclarer globalement la variable 'calculator' afin qu'elle ne soit pas créée par requête car c'est mauvais pour la performance du code. Ma solution est de le déclarer à l'intérieur du bloc module.exports et de le passer dans la méthode qui l'utilise. Cela garantirait-il que la calculatrice ne sera pas créée par demande?Node.js: les variables de Module.exports sont-elles globales?
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);
};
Sans rapport avec votre question, mais vous n'avez pas besoin de '__dirname'. Les chemins du module sont déjà relatifs au fichier js, pas au répertoire de travail actuel. – loganfsmyth