什么是适用于节点js的快速js应用程序的基于mvc的目录结构?

时间:2015-06-10 06:55:16

标签: node.js express

我正在为我的网络应用程序使用express js。什么应该是分离路由和业务逻辑的正确目录结构。还有如何在他们之间进行沟通

1 个答案:

答案 0 :(得分:0)

我喜欢在三个不同的文件夹中分离请求处理,逻辑和响应。

  • ./ JS /服务器/请求
  • ./ js / server / response
  • ./ JS /服务器/模型

这就是我喜欢分开的方式,我很乐意得到反馈或其他分离技术。

以下示例基于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);
});

然后模型完成他的工作,最后,用准确的信息调用响应发送!