数据库回调后的Express应用程序使用
Express app use after DB callback
我在Nodejs Express应用程序中使用mysql-orm,这是我的代码:
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/ddashboard/curses.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:无法读取空的属性"loadMany"
我知道问题是orm
变量在db.create
回调中初始化之前被传递到文件,但我不知道如何解决这个问题。
我试着放:
var coursesRoutes = require('./routes/dashboard/courses')(orm);
app.use('/dashboard/courses', coursesRoutes);
在回调中,但返回404未找到
在建立数据库连接之前,将调用您的课程函数。
这应该奏效。
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);
});
相关文章:
- 为什么不't Express呈现我的React应用程序
- 什么'在Express中路由时,应用程序级中间件和路由器级中间件之间的区别是什么
- 使用connect vhost为多个express.js应用程序提供服务
- 节点,express应用程序返回text/javascript响应头(Content-Type),尽管设置了applic
- Express.js应用程序最大CPU
- 将两个express应用程序封装在一个应用程序中
- fs.readFileSync()在express js应用程序中失败
- 在 Node.js(Express)Facebook 画布应用程序中获取signed_request
- 猫鼬连接在 Express.js 应用程序中自动共享
- 将标志从Node/Express应用程序Python shell传递到Python脚本
- 在带有Parse Server的express应用程序中使用Parse Javascript SDK
- 在express应用程序中,请求参数两次附加到URL
- 如何调整应用程序以使用node和express
- Express子应用程序不工作
- 可以'不要在express/angular应用程序上提交表格
- 将数据插入数据库express/mongodb应用程序时出错
- 在Express.js应用程序的公用文件夹中创建一个文件
- 在不同端口上运行时,rest api应用程序服务器(express)和Angulars js应用程序之间的Cors问题
- Node js async.series无法使用Express应用程序--响应发生得太早
- 在Heroku Node.js/Express应用程序上禁用HTTPS