Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Model view controller 带node.js的MVC:expressjs、backbonejs、railwayjs_Model View Controller_Node.js - Fatal编程技术网

Model view controller 带node.js的MVC:expressjs、backbonejs、railwayjs

Model view controller 带node.js的MVC:expressjs、backbonejs、railwayjs,model-view-controller,node.js,Model View Controller,Node.js,我将构建一个应用程序,使用大量界面让用户插入应该存储在数据库中的数据。在使用Symfony2之前,我用PHP开发了应用程序。现在我想使用node.js,但我不确定该使用什么expressjs、backbonejs、railwayjs。 对于应用程序,我需要MVC结构、表单验证和良好的数据库ORM。我应该使用这3个选项中的哪一个?这两者之间的主要区别是什么?Express或多或少已经成为web开发框架的实际选择。您完全可以使用它进行MVC开发,视图是您的模板引擎(例如jade),模型由您的ORM提

我将构建一个应用程序,使用大量界面让用户插入应该存储在数据库中的数据。在使用Symfony2之前,我用PHP开发了应用程序。现在我想使用node.js,但我不确定该使用什么expressjs、backbonejs、railwayjs。
对于应用程序,我需要MVC结构、表单验证和良好的数据库ORM。我应该使用这3个选项中的哪一个?这两者之间的主要区别是什么?

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


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

如果您来自Rails或Symfony等丰富的框架,那么您的选择是RailwayJS,但如果您喜欢最小且结构不好的内容,请使用ExpressJS

它们之间的主要区别是什么


RailwayJS是ExpressJS的扩展版,它内置了路由、控制器、本地化、生成器、丰富的日志记录、ORM和其他功能,就在ExpressJS之上。但一般来说,您可以用与express相同的方式使用它:中间件、express路由、测试等。因此,您可以使用为express/connect编写的任何中间件,您应该将其放在适当的位置(对于common env,config/environment.js,或config/environments/{development | production}.js用于特定于环境。

Node是否为您提供了Symfony不提供的功能,或者您只是想在Node中实现它,但有足够的帮助程序、库和预构建的工具,所以感觉就像是在Symfony中实现一样,您真的不必在Node中解决问题,就像编写它一样你自己?