刚接触Node.js和Express时,我试图理解这两个似乎重叠的概念,路由与控制器。
我已经看过简单的app.js + routes/*的例子,这似乎足以路由各种需要的请求。
然而,我也看到人们在谈论使用控制器,有些人暗示了一个更正式的MVC模型(?)。
如果有人能帮我解开这个谜团,那就太好了,如果你有一个在Node.js + Express框架中设置控制器的好例子,那就太好了!
谢谢,
发布于 2012-06-18 12:44:01
Express (和一般的Node )最酷的一件事是它不会给你强加很多观点;一个缺点是它不会把任何观点强加给你。因此,您是自由的(并且是必需的!)自己建立任何这样的观点(模式)。
在Express的情况下,您绝对可以使用MVC模式,如果您愿意,路由处理程序当然可以充当控制器的角色--但您必须以这种方式设置它。在名为mvc
的Express examples folder中可以找到一个很好的示例。如果查看lib/boot.js
,就会看到他们如何将示例设置为要求controllers
目录中的每个文件,并根据在控制器上创建的方法的名称动态生成快速路由。
发布于 2019-08-20 01:40:49
你可以只有一个routes文件夹,或者两者都有。例如,某些设置的路由/路径(例如/user/:id)并将它们连接到Get、Post、Put/Update、Delete等,然后在routes文件夹中:
const subController = require('./../controllers/subController');
Router.use('/subs/:id');
Router
.route('subs/:id')
.get(subController.getSub)
.patch(subController.updateSub);
然后,在控制器文件夹中:
exports.getSub = (req, res, next) => {
req.params.id = req.users.id;
};
只是为了做点什么。我做过没有控制器文件夹的项目,把所有的逻辑都放在一个地方。
https://stackoverflow.com/questions/11076179
复制相似问题