带有node.js的MVC:表示js,骨干js,铁路

时间:2012-02-17 18:44:54

标签: model-view-controller node.js

我将使用大量接口构建应用程序,以便用户插入应存储在数据库中的数据。在使用Symfony2之前,我在PHP中开发了应用程序。现在我想使用node.js,但我不知道如何使用expressjs,backbonejs,railwayjs。 对于应用程序,我需要一个MVC结构,表单验证和一个好的数据库ORM。我应该使用以下哪3个?这些之间的主要区别是什么?

2 个答案:

答案 0 :(得分:5)

如果您来自像Rails或Symfony这样的丰富框架,那么您选择的是RailwayJS,但如果您喜欢最小化且结构不合理的内容,请使用ExpressJS。

  

这些

之间的主要区别是什么?

RailwayJS是ExpressJS的扩展,包括路由,控制器,本地化,生​​成器,丰富的日志记录,ORM和内置的其他内容,就在expressjs上。但一般情况下你可以像表达方式一样使用它:中间件,快速路由,测试等。所以你可以使用为express / connect编写的任何中间件,你应该把它放在适当的位置(config / environment.js for env特定的env或config / environments / {development | production} .js。

答案 1 :(得分:4)

Express或多或少成为Web开发框架的事实上的选择。您可以完全使用它进行MVC开发,视图是您的模板引擎(例如,jade),您的ORM提供的模型(如果您使用MongoDB,mongoose是一个很好的选择),以及您的路由处理程序/应用程序逻辑/中间件是控制器。

Backbone为您的客户端开发提供MV *结构,因此它是您选择的任何服务器端框架或库的补充(并且独立于)。客户端MVC或MVVM代码组织有很多选项,例如knockout.js和ember.js,但是我个人更喜欢Backbone,它更少魔法,但提供更多控制。但这是相对主观的,所以这对于堆栈溢出来说并不是真正的相关争论。