使用NodeJS搭建多人在线聊天室(NodeJS&SocketIO&Express&EJS...),项目方向大概是做一个类似QQ的在线聊天系统。如果您想在线体验,请点击在线演示。项目使用PM2进行部署和管理,功能在不断迭代开发中。如果您觉得这个项目比较有趣,或者对您有帮助,欢迎给个Star。项目地址:https://github.com/bergwhite/nchatPS:最近在找工作,欢迎在北京联系我。另外本人基于Vue全家桶二次开发做了一个V2EX社区https://github.com/bergwhite/v2ex-vue。项目目录├─bin│www//启动express├─数据库│index.js//MongoDB├─public//静态文件│css│index.css//主页CSS│js│index.js//连接socket服务通信(密钥文件)|socket-server.js//套接字服务(密钥文件)│img├─routers│index.js//页面路由├─view│error.ejs//错误页面│index.ejs//主页│userCenter.ejs//用户中心(规划中)│userList.ejs//用户列表(规划中)├─app.js//express├─package.json//npm包路由目前只有/目录和/room/:id是官方的已使用,其他路由的页面还在迭代开发中。//首页/user//用户列表/user/:id//用户中心/user/:id/register//注册(JSON)/user/:id/login//登录(JSON)/user/:id/logout//注销(JSON)/user/:id/info//用户配置文件(JSON)/room/:id//安装使用前指定聊天室,请修改package.json中MongoDB的安装路径(--数据库路径)。gitclonehttps://github.com/bergwhite/nodejs-chat//clone项目到本地cdnodejs-chat//进入项目目录npminstall//安装依赖npmrunbuild//构建在线代码npmrunmongod//启动MongoDB服务npmrunstart//启动聊天室服务,启动网站项目演示。该项目中存在一个已知错误。div模拟的输入框无法插入表情包(修复中)。匿名聊天用户聊天成员&房间下线通知更多房间和房间独立已上线跨浏览器、跨区域聊天(SocketIO内置技能)第一次进入会显示欢迎信息发送空消息和promptwillbesent直接发送消息默认昵称是“神秘”发送消息后,会清除当前输入框的内容,然后焦点返回到消息输入框。添加用户名后,就会成为新用户,然后通知房间内的所有人有新用户加入,创建不同的房间。不同房间聊天相互独立显示当前房间在线用户(设置用户名)离线显示所有当前打开的房间用户(设置用户名)并通知房间内所有成员压缩在线代码以加快访问速度速度...上线功能用户名统计匿名用户支持一键随机获取用户名和头像访客使用默认头像新用户(已设置用户名)随机获取一个头像新用户可以选择是否从默认头像集中获取是否支持上传头像正在考虑中(安全问题)Chat支持多组丰富表情是否支持上传图片还在考虑中(安全问题)数据库连接MongoDB。新用户(有用户名)设置密码后,由临时用户变为正式用户,项目缺陷界面丑陋(功能完善后考虑)输入框不能插入表情由div模拟(修复)...
