Node.js 对于带有节点js的express js应用程序,什么是合适的基于mvc的目录结构?

Node.js 对于带有节点js的express js应用程序,什么是合适的基于mvc的目录结构?,node.js,express,Node.js,Express,我正在为我的web应用程序使用ExpressJS。分离路由和业务逻辑的正确目录结构应该是什么。还有如何在它们之间进行通信我喜欢将请求处理、逻辑和响应分别放在三个不同的文件夹中 /js/server/request /js/server/response /js/server/model 这就是我喜欢分离事物的方式,我会很高兴得到反馈,或者其他分离技术 以下示例基于express var express = require('express'); 首先,在主服务器文件中声明一个路由器,以便可

我正在为我的web应用程序使用ExpressJS。分离路由和业务逻辑的正确目录结构应该是什么。还有如何在它们之间进行通信

我喜欢将请求处理、逻辑和响应分别放在三个不同的文件夹中

  • /js/server/request
  • /js/server/response
  • /js/server/model
这就是我喜欢分离事物的方式,我会很高兴得到反馈,或者其他分离技术

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

然后,模型开始工作,最后,调用响应并发送准确的信息

我喜欢将请求处理、逻辑和响应分别放在三个不同的文件夹中

  • /js/server/request
  • /js/server/response
  • /js/server/model
这就是我喜欢分离事物的方式,我会很高兴得到反馈,或者其他分离技术

以下示例基于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);
});
然后,模型开始工作,最后,调用响应并发送准确的信息

可能的重复可能的重复可能的重复