Du bör ändra denna rad:
var sqlDb = require('./DBLayer/db.js');
till
var sqlDb = require('./DBLayer/db.js').sqlDb;
eller för att ändra denna rad:
exports.sqlDb = sql;
till
exports = sql;
Förklaring: I Node när du gör:var sqlDb = require('./DBLayer/db.js');
det gör att sqlDb är exports
objekt.
Så i din kod har du exports.sqlDb = sql
. Kompilatorn har rätt att exporter inte har exekveringsfunktion. exporter har bara 1 var, exports.sqlDb
.
Bonustips: Om du verkligen vill att koden ska fungera, utan att ändra app.js
du kan lägga till detta i slutet av din modul:
exports.execute=function(){
return sql.execute.call(sql,arguments)
}