Du bør ændre denne linje:
var sqlDb = require('./DBLayer/db.js');
til
var sqlDb = require('./DBLayer/db.js').sqlDb;
eller for at ændre denne linje:
exports.sqlDb = sql;
til
exports = sql;
Forklaring: I Node, når du gør:var sqlDb = require('./DBLayer/db.js');
det gør sqlDb til at være exports
objekt.
Så i din kode har du exports.sqlDb = sql
. Compileren har ret, at eksporter ikke har execute-funktion. eksporter har kun 1 var, exports.sqlDb
.
Bonustip: Hvis du virkelig vil have din kode til at virke, uden at ændre app.js
du kan tilføje dette til slutningen af dit modul:
exports.execute=function(){
return sql.execute.call(sql,arguments)
}