为何 expressjs 默认不支持 controller action 这种常见的开发方式?
发布于 11 年前 作者 panxuepeng 4981 次浏览 最后一次编辑是 8 年前

为何 expressjs 默认不支持 controller action 这种常见的开发方式? 写了controller action之后,还需要去routes写很多路由,如下 app.get(’/login’, users.login) app.get(’/logout’, users.logout) …

这种设计方式 缺点:麻烦 优点:url配置更加灵活

还有其他什么优点呢?

5 回复

个人感觉,这样简单,灵活,轻量…

再说了,expressjs 不是mvc 框架…你提的这个问题…没提到点上…

你需要controller action 的模式,可以参考一些基于express 的mvc

Monorail.js – Ultra lightweight MVC framework for Node.js Locomotive – Powerful MVC framework for Node.js. Inspired by Ruby on Rails. CompoundJS – High-level MVC framework inspired by RoR

@youxiachai “expressjs 不是mvc 框架”这个确实不清楚,谢谢指教,呵呵

express的路由处理(app.router)是根据url来映射出controller和action的,提供一个简洁,灵活的高性能工具,提供丰富的api和中间件全局的处理,这个和mvc框架还是有点区别

我觉得 express这种通过url映射controller的方式和java的spring mvc3.x的思路是一样的,这种方式能够提供灵活的处理方式 action的方式类似于struts。

java领域里这两种方式也是存在争议,设计思路不一样不能说那种不好,不过我感觉通过路由控制更灵活也更贴近RESTful

回到顶部