Я использую mysql-orm в приложении Nodejs Экспресс Это мой код:Экспресс использование приложения после DB обратного вызова
app.js:
// ... all variables are initialized
var orm = null;
var app = express();
db.create(dbSchema, dbSeeds, dbOptions, function(err, ormObject) {
if (err) throw err;
orm = ormObject;
});
var coursesRoutes = require('./routes/dashboard/courses')(orm);
app.use('/dashboard/courses', coursesRoutes);
/routes/dashboard/courses.js :
var express = require('express');
var router = express.Router();
module.exports = function(orm) {
router.get('/listall', function(req, res, next) {
orm.loadMany('sections', null, function(err, sections) {
if (err) throw err;
res.jsonp(sections);
});
});
return router;
};
И это возвращает эту ошибку:
TypeError: Cannot read property 'loadMany' of null
Я знаю, что проблема заключается в том, что orm
переменных передаются в файл до его инициализации в db.create
обратного вызова, но я не знаю, как решить эту проблему.
Я пытался поставить:
var coursesRoutes = require('./routes/dashboard/courses')(orm);
app.use('/dashboard/courses', coursesRoutes);
внутри обратного вызова, но она возвращает 404 не найден
это возвращает 404 не найдено – Burawi