Měli byste změnit tento řádek:
var sqlDb = require('./DBLayer/db.js');
do
var sqlDb = require('./DBLayer/db.js').sqlDb;
nebo pro změnu tohoto řádku:
exports.sqlDb = sql;
do
exports = sql;
Vysvětlení: V Node, když to uděláte:var sqlDb = require('./DBLayer/db.js');
to dělá sqlDb jako exports objekt.
Takže v kódu máte exports.sqlDb = sql . Kompilátor má pravdu, exporty nemají funkci provádění. exporty mají pouze 1 var, exports.sqlDb .
Bonusový tip: Pokud opravdu chcete, aby váš kód fungoval, beze změny app.js toto můžete přidat na konec svého modulu:
exports.execute=function(){
return sql.execute.call(sql,arguments)
}