2022年的暑假格外炎热,让本来行情不好的前端火上浇油了,最近也试着去求职,这么热的天是真的受不了。最近在github
上面看到别人做的聊天室系列的项目,让我十分感兴趣,同时我也想做个完整的项目来充实自己,巩固自己所学的,所以就想着使用Vue.js
、Node.js
、socket.io
来做一个聊天室。
一开始的想法是用websocket
的,思来想去,后端还是使用看socket.io
,前端的就使用了vue-socket.io
和socket.io-client
,因为也是初次使用这个包的,开发过程中难免出现了很多奇奇怪怪的报错,浏览了官方的文档也没有详细的说明,只能一遍遍的去试去了解,也在这个过程中不断的进步,在选择vue
的版本的时候也还在思索着是否使用vue3.x
的版本,考虑到项目里面的一些模块使用vue2.x
的熟悉一点抛去了使用vue3.x
的想法了,目前终于完成了聊天室的内容,分享出来,如有错误,请多指教。
- 本前端项目地址:github地址,gitee地址
- 本项目的后端项目:github地址,gitee地址
- 前端设计是本人事先规划的,色调的选取使用了我喜欢的蓝色调,减少点视觉疲劳,画面方面采用后台管理的风格,一目了然。
- 本人目前正在求职,后面的时间可能没有那么的自由,但会不定期的更新完善该项目,如有问题请直接在
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
将前端项目跑起来即可。
- 登录
- 首页