Javascript 在现有Node.js、Express、MongoDB和Socket.io堆栈的顶部添加AngularJS

Javascript 在现有Node.js、Express、MongoDB和Socket.io堆栈的顶部添加AngularJS,javascript,node.js,mongodb,angularjs,mongoose,Javascript,Node.js,Mongodb,Angularjs,Mongoose,我已经用Node.js、Express、MongoDB、Mongoose和Socket.io开发了一段时间的web应用程序。第一版刚刚发布,运行良好。但是,对于版本2,我希望完全重新设计UI,并使用前端框架,如AngularJS。我一直在看(),它看起来真的很有希望。在讨论太多细节之前,我将尝试解释应用程序的用途和工作原理,希望您稍后能理解我的问题 我的应用程序是一个流媒体服务,有4个简单的模式:用户、房间、歌曲、播放列表。它们通过Mongoose中的模式进行建模,并存储在MongoDB数据库中

我已经用Node.js、Express、MongoDB、Mongoose和Socket.io开发了一段时间的web应用程序。第一版刚刚发布,运行良好。但是,对于版本2,我希望完全重新设计UI,并使用前端框架,如AngularJS。我一直在看(),它看起来真的很有希望。在讨论太多细节之前,我将尝试解释应用程序的用途和工作原理,希望您稍后能理解我的问题

我的应用程序是一个流媒体服务,有4个简单的模式:用户、房间、歌曲、播放列表。它们通过Mongoose中的模式进行建模,并存储在MongoDB数据库中。当用户访问应用程序时,它通过Node.js和Express(以及Jade作为模板引擎)提供所有HTML。如果用户随后注册,Socket.io会让服务器知道用户注册,然后将其保存到数据库中,用户将加入大厅。在这个房间里,用户可以聊天、听音乐等。这就是我一直使用Socket.io的目的,用户自己和我的服务器之间的通信(服务器有时也通过Socket.io提供html)。基本上,Socket.io和服务器之间的所有消息都非常小(聊天消息、房间对象、歌曲对象等)

我对这种方法很满意,但是,在客户端,代码并没有真正分开。目前有两个JS文件为逻辑服务。一个处理Socket.io事件并操纵dom。另一个是一个普通的JS文件,它完成了一些事情。这两个文件现在每个大约有5000行。这让我担心,我想在v2中找到一个解决方案

因此,我一直在研究均值堆栈中的AngularJS,以及如何将其合并到我的应用程序中。我的问题是,这能解决我的客户端问题吗?你能推荐我为此付出努力吗。另外,Socket.io与AngularJS的配合情况如何?两个都有可能对我现在的工作来说是一种过度的杀伤力。您是否知道任何其他可能更容易与当前环境集成的框架?我知道这是一个有点主观的问题,但如果你有任何提示或做或不做,谢谢分享!我非常感谢您的反馈,如果您需要更多信息,我很乐意与您分享


Jordy

我认为真正的例子就足够了:

这个例子非常好,非常接近我想要的。你认为AngularJS对我的应用程序来说是个不错的选择吗?为什么/为什么不?在我看来,你必须做一些实验——有些方法不能“统一”。这取决于您希望如何开发应用程序。长期:角度是一个不错的选择,但如果你的应用程序相对较小,为什么要膨胀?看到您的问题,我想到的第一件事是尝试通过WebSocket通道泵送数据—更少的CPU工作,更负责任。这就像一个框架选择过程——你选择最适合你需要的。