Dovresti cambiare questa riga:
var sqlDb = require('./DBLayer/db.js');
a
var sqlDb = require('./DBLayer/db.js').sqlDb;
o per modificare questa riga:
exports.sqlDb = sql;
a
exports = sql;
Spiegazione: In Node quando lo fai:var sqlDb = require('./DBLayer/db.js');
fa in modo che sqlDb sia le exports oggetto.
Quindi nel tuo codice hai exports.sqlDb = sql . Il compilatore ha ragione le esportazioni non hanno la funzione di esecuzione. le esportazioni hanno solo 1 var, exports.sqlDb .
Suggerimento bonus: Se vuoi davvero che il tuo codice funzioni, senza modificare app.js puoi aggiungerlo alla fine del tuo modulo:
exports.execute=function(){
return sql.execute.call(sql,arguments)
}