2022年的暑假格外炎热,让本来行情不好的前端火上浇油了,最近也试着去求职,这么热的天是真的受不了。最近在github
上面看到别人做的聊天室系列的项目,让我十分感兴趣,同时我也想做个完整的项目来充实自己,巩固自己所学的,所以就想着使用Vue.js
、Node.js
、socket.io
来做一个聊天室。
一开始的想法是用websocket
的,思来想去,后端还是使用看socket.io
,前端的就使用了vue-socket.io
和socket.io-client
,因为也是初次使用这个包的,开发过程中难免出现了很多奇奇怪怪的报错,浏览了官方的文档也没有详细的说明,只能一遍遍的去试去了解,也在这个过程中不断的进步,在选择vue
的版本的时候也还在思索着是否使用vue3.x
的版本,考虑到项目里面的一些模块使用vue2.x
的熟悉一点抛去了使用vue3.x
的想法了,目前终于完成了聊天室的内容,分享出来,如有错误,请多指教。
Issues
中提。star
支持一些,本人的一些笔记发布在csdn和我自的博客网站Vue
+Vue-router
+Element-ui
+Axios
+vue-socket.io
+socket.io-client
。Node.js(express框架)
+socket.io
实现。token
校验,因为本项目未涉及数据库所以保存的方法为本地和服务器的socket.io
的短期储存,多人聊天画面前端:Vue
+Vue-router
+Element-ui
+Axios
+vue-socket.io
+socket.io-client
后端:Node.js
+express
+socket.io
登录界面的设计参考了后台管理的风格,以同色调的图片作为背景,中间区域为名称密码输入区域,看起来更加的简洁美观,收集好用户的信息调用接口获取token,同时将用户的信息在后端的socket.io
保存好,用于校验是否会二次登录,验证通过即可跳转页面
在首页反面,也是使用了elementUI
的 Container 布局容器
来实现,左侧方便显示个人信息、操作,右侧就可以成为我们的聊天界面
设置界面主要为我们的名称和密码,个性签名做一个修改,因为没有涉及到数据库的操作,只能修改我们看到后的,可能在以后的某一天,项目的迭代完成了这个功能,其次本有着头像修改的功能,也是期盼着在后续的完善了。
clone
好前端项目和后端项目npm i
下载好相关的包,如果出现了报错,可能是因为node
的版本不对,使用node -v
查看自己的node版本,我的是:v12.22.12
,因为需要兼容一些包,所以我的node
版本不是很高,可以自行降低版本。node aqq.js
把我们后台项目启动,注意好目录。npm run serve
将前端项目跑起来即可。此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。