我正在使用特快js作为我的web应用程序。区分路由和业务逻辑的适当目录结构应该是什么。如何在他们之间进行交流
发布于 2015-06-10 07:34:19
我喜欢在三个不同的文件夹中分离请求处理、逻辑和响应。
这就是我喜欢把事情分开的方式,我会很高兴有一个反馈,或者其他的分离技术。
下面的示例是基于express的。
var express = require('express');
首先,在您的主服务器文件中声明一个路由器,以便您可以在单独的文件中处理请求:
var routeName = require('./js/server/request/routerName');
var app = express();
app.use(routeName);
然后您可以在这个文件中处理您想要的每一个请求。在这个文件中,不要忘记在最后导出路由器:
module.exports = router;
并进口适当的东西:
var express = require('express');
现在你可以处理你的路线了:
var router = express.Router();
router.get('/', function (err, req, res, next) {
// Put some route handling here
});
此时,我从请求中提取数据,这些数据需要“知道该做什么”。然后,在./js/server/目录中,您可以再创建两个文件夹:一个响应文件夹和一个模型文件夹。
模型文件夹:用于“逻辑”的类。通常是数据库通讯等等..。Response文件夹:从模型类中获取一些东西并将其发送回客户端。
在您的路由器中,它可能看起来像这样:
router.get('/', function (err, req, res, next) {
var model = new Model();
var response = new Response(req, res);
model.doSomething(params, response);
});
然后,模型做他的工作,并在最后,用准确的信息调用响应发送!
https://stackoverflow.com/questions/30749136
复制相似问题