Bạn nên thay đổi dòng này:
var sqlDb = require('./DBLayer/db.js');
đến
var sqlDb = require('./DBLayer/db.js').sqlDb;
hoặc để thay đổi dòng này:
exports.sqlDb = sql;
đến
exports = sql;
Giải thích: Trong Node khi bạn thực hiện:var sqlDb = require('./DBLayer/db.js');
nó làm cho sqlDb trở thành exports
đối tượng.
Vì vậy, trong mã của bạn, bạn có exports.sqlDb = sql
. Trình biên dịch là quyền xuất không có chức năng thực thi. xuất chỉ có 1 var, exports.sqlDb
.
Mẹo thưởng: Nếu bạn thực sự muốn mã của mình hoạt động mà không cần thay đổi app.js
bạn có thể thêm phần này vào cuối mô-đun của mình:
exports.execute=function(){
return sql.execute.call(sql,arguments)
}