Deberías cambiar esta línea:
var sqlDb = require('./DBLayer/db.js');
a
var sqlDb = require('./DBLayer/db.js').sqlDb;
o para cambiar esta línea:
exports.sqlDb = sql;
a
exports = sql;
Explicación: En Node cuando lo haga:var sqlDb = require('./DBLayer/db.js');
hace que sqlDb sea el exports
objeto.
Entonces en tu código tienes exports.sqlDb = sql
. El compilador tiene razón, las exportaciones no tienen función de ejecución. las exportaciones solo tienen 1 var, exports.sqlDb
.
Consejo adicional: Si realmente quiere que su código funcione, sin cambios app.js
puede agregar esto al final de su módulo:
exports.execute=function(){
return sql.execute.call(sql,arguments)
}