我正在为我的网络应用程序使用express js。什么应该是分离路由和业务逻辑的正确目录结构。还有如何在他们之间进行沟通
答案 0 :(得分:0)
我喜欢在三个不同的文件夹中分离请求处理,逻辑和响应。
这就是我喜欢分开的方式,我很乐意得到反馈或其他分离技术。
以下示例基于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/目录中,您可以再创建两个文件夹:响应文件夹和模型文件夹。
模型文件夹:“逻辑”的类。通常是数据库通信等...... 响应文件夹:从模型类中获取内容并将其发送回客户端。
在您的路由器中,它可能看起来像这样:
router.get('/', function (err, req, res, next) {
var model = new Model();
var response = new Response(req, res);
model.doSomething(params, response);
});
然后模型完成他的工作,最后,用准确的信息调用响应发送!