Vous devriez changer cette ligne :
var sqlDb = require('./DBLayer/db.js');
à
var sqlDb = require('./DBLayer/db.js').sqlDb;
ou pour changer cette ligne :
exports.sqlDb = sql;
à
exports = sql;
Explication : Dans Node lorsque vous faites :var sqlDb = require('./DBLayer/db.js');
cela fait de sqlDb les exports
objet.
Donc dans votre code vous avez exports.sqlDb = sql
. Le compilateur a raison, les exportations n'ont pas de fonction d'exécution. les exportations n'ont qu'une seule variable, exports.sqlDb
.
Conseil bonus : Si vous voulez vraiment que votre code fonctionne, sans changer app.js
vous pouvez ajouter ceci à la fin de votre module :
exports.execute=function(){
return sql.execute.call(sql,arguments)
}