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)
}