基于vue和websocket的多人在线聊天室


Posted in Javascript onFebruary 01, 2020

最近看到一些关于websocket的东西,就决定写一个在线聊天室尝试一下。最终决定配合vue来写,采用了官方的vue脚手架vue-cli和官方的router,在本例中呢,我是用了CHAT这个对象来存储app的数据的,但后来一想,虽然项目很小,但如果用官方的vuex会更好,方便以后扩展,比如可以加上私信功能,可以在对方不在线的时候缓存发送的消息,这些都是可以的。(现在比较尴尬的就是,我把聊天室写好放到公众号号redream里,但是很少有人会同时在线,所以你会经常发现你进去的时候只有你一个人,就导致群聊不起来)

1.好吧,先来看一下我们的效果图

基于vue和websocket的多人在线聊天室

基于vue和websocket的多人在线聊天室

基于vue和websocket的多人在线聊天室

2.用到的一些东西

nodejs node服务器运行环境
express 搭建node服务器
websocket 本例核心,推送服务器消息到所有人
socketio websocket第三方库
vue + router 视图层双向数据绑定框架,用来简化开发、组件化开发的
es6语法 就是好用简洁哈哈
https 因为像websocket和很多h5的新功能,浏览器为了安全起见都仅支持https下开发 关于nodejs搭建express服务器可以看这里我就是在这里学的,代码里也借鉴了很多,关于搭建https服务器就不简介了,内容太多,推荐阿里云一年的免费证书,可以访问我的站点查看

3.代码架构简介

server里是需要运行在node服务器上的js文件,监听websocket连接
src/api/client是客户端连接服务器的核心js
src/components下是页面的组件。我分成了三大部分,login组件(登录页面),chat组件(聊天页面),groupinfo组件(群信息页面),其实是单页应用,反应速度更快,接近原生app,只不过用router联系在了一起。像chat组件,又又head、body、foot组件组成,组件化是很好的习惯和架构方式,条理清晰,而且在大项目里很多可以复用。 具体都在代码了,大家可以下载下来在本地跑一跑。

4.运行代码

install dependencies

npm install

serve with hot reload at localhost:8080
npm run dev

build for production with minification
npm run build

这是在我站点上跑着的例子,大家可以看一看,在手机上效果更加,最近校招比较忙,就花了两天,没考虑兼容,欢迎大家提出意见。

官方网址:https://github.com/secreter/websocket_chat

文件打包下载:vue_websocket_chat.zip

Javascript 相关文章推荐
大家未必知道的Js技巧收藏
Apr 07 Javascript
Javascript图片上传前的本地预览实例
Jun 16 Javascript
Javascript遍历Html Table示例(包括内容和属性值)
Jul 08 Javascript
适用于javascript开发者的Processing.js入门教程
Feb 24 Javascript
js图片切换具体实现代码
Oct 13 Javascript
sublime text配置node.js调试(图文教程)
Nov 23 Javascript
详解Vue中watch的高级用法
May 02 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
Sep 21 Javascript
vue根据进入的路由进行原路返回的方法
Sep 26 Javascript
angular.js实现列表orderby排序的方法
Oct 02 Javascript
微信小程序实现弹出层效果
May 26 Javascript
详解VUE里子组件如何获取父组件动态变化的值
Dec 26 Javascript
node crawler如何添加promise支持
Feb 01 #Javascript
js 计算月/周的第一天和最后一天代码
Feb 01 #Javascript
js获取本日、本周、本月的时间代码
Feb 01 #Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
Feb 01 #Javascript
vue学习笔记之过滤器的基本使用方法实例分析
Feb 01 #Javascript
vue学习笔记之slot插槽基本用法实例分析
Feb 01 #Javascript
vue学习笔记之作用域插槽实例分析
Feb 01 #Javascript
You might like
php set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
php模拟js函数unescape的函数代码
2012/10/20 PHP
PHP开发中AJAX技术的简单应用
2015/12/11 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
2016/06/22 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
2016/12/15 PHP
javascript中的self和this用法小结
2014/02/08 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
快速获取/设置iframe内对象元素的几种js实现方法
2016/05/20 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
js输出数据精确到小数点后n位代码
2016/07/02 Javascript
AngularJS指令详解及示例代码
2016/08/16 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
nodejs处理图片的中间件node-images详解
2017/05/08 NodeJs
vue使用axios实现文件上传进度的实时更新详解
2017/12/20 Javascript
electron demo项目npm install安装失败的解决方法
2018/02/06 Javascript
layerUI下的绑定事件实例代码
2018/08/17 Javascript
一次Webpack配置文件的分离实战记录
2018/11/30 Javascript
微信小程序实现多选删除列表数据功能示例
2019/01/15 Javascript
python通过配置文件共享全局变量的实例
2019/01/11 Python
python 标准差计算的实现(std)
2019/07/29 Python
python实现二分类的卡方分箱示例
2019/11/22 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
2020/09/01 Python
意大利男装网店:Vrients
2019/05/02 全球购物
西班牙香水和化妆品连锁店:Druni
2019/05/05 全球购物
匡威爱尔兰官网:Converse爱尔兰
2019/06/09 全球购物
日本化妆品植村秀俄罗斯官方网站:Shu Uemura俄罗斯
2020/02/01 全球购物
导游的职业规划书范文
2013/12/27 职场文书
工程承包协议书
2014/04/22 职场文书
舞蹈专业求职信
2014/06/13 职场文书
高中学校对照检查材料
2014/08/31 职场文书
网站出售协议书范文
2014/10/10 职场文书
群众路线剖析材料(四风)
2014/11/05 职场文书
汽车销售员工作总结
2015/08/12 职场文书
Java 泛型详解(超详细的java泛型方法解析)
2021/07/02 Java/Android
Python pyecharts绘制条形图详解
2022/04/02 Python