2012-06-18 77 views
75

新的Node.js和Express,我想了解兩個似乎重疊的概念,路由與控制器。Node.js + Express:路由與控制器

我見過很簡單的例子,app.js + routes/*,這似乎足以路由所需的各種請求。但是,我也看到有人在談論使用控制器,還有一些意味着更正式的MVC模型(???)。

如果有人能夠幫助我清除這個謎團,並且如果您有一個在Node.js + Express框架中設置控制器的好例子,那將非常棒!

感謝,

回答

98

一個關於快遞很酷的事情(和一般的節點)是它不推了很多關於你的意見;缺點之一是它不會對你施加任何意見。因此,您可以免費(並且需要!)自行設置任何此類意見(模式)。

在Express的情況下,您絕對可以使用MVC模式,並且如果您願意,路由處理程序肯定可以充當控制器的角色 - 但您必須按照這種方式進行設置。在Express examples folder中可以找到一個很好的示例,名爲mvc。如果您查看lib/boot.js,您可以看到他們如何設置示例以要求controllers目錄中的每個文件,並根據控制器上創建的方法的名稱即時生成Express路由。

+0

[這個相當聰明的答案](http://stackoverflow.com/a/12957755/444255)的第一段也給出了兩個術語之間的很好的解釋/區別。 –