为何 expressjs 默认不支持 controller action 这种常见的开发方式? 写了controller action之后,还需要去routes写很多路由,如下 app.get(’/login’, users.login) app.get(’/logout’, users.logout) …
这种设计方式 缺点:麻烦 优点:url配置更加灵活
还有其他什么优点呢?
个人感觉,这样简单,灵活,轻量…
再说了,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