赞
踩
假设我有这个代码来分隔expressjs中的路由:
module.exports = function(express,app,client) { app.get('/', function(req,res,next) { var query = 'SELECT * FROM users LIMIT 10'; var user = client.query(query, function (err, results, fields) { res.render('index', { title: 'test', users: results }); client.end(); }); }); }
并要求app.js
:
require('./controllers/routes.js')(express,app,client);
1)如何以最佳方式将数据库查询分成新文件?
即使我将db逻辑分开,这个文件也会变得非常大.
2)分隔路线的好方法是什么?也许单独的模块?然后要求他们全部进入app.js
?
这里有一个类似的问题,您应该阅读:如何构建express.js应用程序?
1)所有查询逻辑都应放在模型中(例如驻留在/ models中的模块)
2)将所有路由(控制器)分成模块(并将它们放入/路由中)以路由我的意思为例如: - "用户"路由的所有逻辑都进入/routes/users.js
尽量让你的应用程序成为MVC-ish.
以上应用的小例子:
app.js
// configuration for express etc require('./routes/index')(app)
路线/ index.js
var model = require("../models/users.js"); module.exports = function (app) { app.get('/', function (req, res, next) { model.get_recent(function (err, results) { // do stuff with your results res.render('index'); }); }); }
车型/ users.js
module.exports = { get_recent: function(callback) { var query = "SELECT * FROM users LIMIT 10"; database.query(query, callback); } }
在expressjs下载包中,有一个名为"mvc"的文件夹.作者为微小而高效的mvc结构提供了一个很好的例子.通过代码,您将获得很多灵感.
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。