在现有Node.js、Express、MongoDB和Socket.io Stack之上添加AngularJS

Adding AngularJS on top of existing Node.js, Express, MongoDB and Socket.io Stack

本文关键字:Stack io AngularJS 添加 Socket MongoDB Node js Express      更新时间:2024-01-07

我已经使用Node.js、Express、MongoDB、Mongoose和Socket.io开发了一段时间的web应用程序。第一版刚刚发布,运行良好。然而,对于第二版,我想完全重新设计UI,并使用AngularJS之类的前端框架。我一直在看(MEAN堆栈),它看起来真的很有希望。在进入太多细节之前,我会尝试解释应用程序的目的和工作原理,希望你稍后能理解我的问题。

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

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

所以我一直在研究MEAN堆栈中的AngularJS,以及如何将其合并到我的应用程序中。我的问题是,这能解决我的客户端问题吗?你能建议我努力做到这一点吗?此外,Socket.io与AngularJS的合作情况如何?对我现在所做的事情来说,同时拥有这两个可能有些过头了。你知道其他可能更容易与我当前的环境集成的框架吗?我知道这是一个有点主观的问题,但如果你有任何建议或做或不做,谢谢分享!我非常感谢您的反馈,如果您需要更多信息,我很乐意与您分享!

Jordy

我认为这个真实的例子就足够了:https://github.com/btford/angular-socket-io-seed