# 基于vue和websocket的多人在线聊天室
* author: So
------
最近看到一些关于websocket的东西,就决定写一个在线聊天室尝试一下。最终决定配合vue来写,采用了官方的vue脚手架vue-cli和官方的router,在本例中呢,我是用了CHAT这个对象来存储app的数据的,但后来一想,虽然项目很小,但如果用官方的vuex会更好,方便以后扩展,比如可以加上私信功能,可以在对方不在线的时候缓存发送的消息,这些都是可以的。(现在比较尴尬的就是,我把聊天室写好放到公众号号redream里,但是很少有人会同时在线,所以你会经常发现你进去的时候只有你一个人,就导致群聊不起来)
### 1.好吧,先来看一下我们的效果图
![login](http://item.redream.cn/chat/0.jpg )
![login](http://item.redream.cn/chat/447.jpg )
![login](http://item.redream.cn/chat/445.jpg )
详细见[redream文章](http://mp.weixin.qq.com/s?__biz=MzAwMjAzNDU1NQ==&mid=2650166098&idx=1&sn=8ea7fda842823a1a0528742589f9f238&chksm=82d26d46b5a5e4503e830de7f41469b5fe93a08058bf839838f13597914037230ea114a57f3a#rd)
### 2.用到的一些东西
> * nodejs node服务器运行环境
> * express 搭建node服务器
> * websocket 本例核心,推送服务器消息到所有人
> * socketio websocket第三方库
> * vue + router 视图层双向数据绑定框架,用来简化开发、组件化开发的
> * es6语法 就是好用简洁哈哈
> * https 因为像websocket和很多h5的新功能,浏览器为了安全起见都仅支持https下开发
关于nodejs搭建express服务器可以看[这里](http://www.plhwin.com/2014/05/28/nodejs-socketio/)我就是在这里学的,代码里也借鉴了很多,关于搭建https服务器就不简介了,内容太多,推荐阿里云一年的免费证书,可以访问[我的站点](https://node.redream.cn)查看
### 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
这是在我站点上跑着的[例子](http://item.redream.cn/chat/),大家可以看一看,在手机上效果更加,最近校招比较忙,就花了两天,没考虑兼容,欢迎大家提出意见。
-------
> 这是我第一次写技术介绍文章,其实我也并没有介绍什么细节。不过感觉上面提到的每一个知识点都可以讲很多。一想写起来那么多就没耐心了,看来还是太毛躁。希望大家多多包涵,我会慢慢改进的,大家一起进步!
https://github.com/secreter/websocket_chat
没有合适的资源?快使用搜索试试~ 我知道了~
基于vue的websocket聊天室(采用了官方的vue脚手架vue-cli和官方的router)
共43个文件
js:19个
vue:12个
json:2个
需积分: 5 2 下载量 38 浏览量
2024-10-18
17:45:24
上传
评论
收藏 74KB ZIP 举报
温馨提示
websocket 【项目资源】:包含前端、后端、移动开发、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源,毕业设计等各种技术项目的源码。包括C++、Java、python、web、C#、EDA等项目的源码。 【适用人群】:适用于希望学习不同技术领域的初学者或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
基于vue的websocket聊天室(采用了官方的vue脚手架vue-cli和官方的router).zip (43个子文件)
websocket_chat-new123
.editorconfig 147B
src
App.vue 676B
assets
logo.png 7KB
1.jpg 36KB
main.js 273B
api
client.js 4KB
components
login.vue 4KB
ChatFoot.vue 1KB
SystemMsg.vue 601B
GroupInfoHead.vue 2KB
SelfMsg.vue 2KB
ChatBody.vue 2KB
GroupInfoBody.vue 8KB
ChatHead.vue 2KB
GroupInfo.vue 786B
util
dialog.vue 745B
OtherMsg.vue 2KB
router
index.js 362B
util
index.js 180B
.babelrc 96B
package.json 2KB
build
dev-server.js 2KB
utils.js 2KB
webpack.prod.conf.js 3KB
build.js 886B
dev-client.js 245B
webpack.base.conf.js 2KB
webpack.dev.conf.js 1KB
index.html 654B
test
unit
.eslintrc 95B
specs
Hello.spec.js 349B
karma.conf.js 2KB
index.js 552B
.gitignore 99B
.eslintignore 23B
server
package.json 175B
index.js 2KB
static
.gitkeep 0B
README.md 3KB
config
test.env.js 132B
prod.env.js 48B
index.js 1KB
dev.env.js 139B
共 43 条
- 1
资源评论
白话Learning
- 粉丝: 4707
- 资源: 3065
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功