# snappy-chat **Repository Path**: tenezzi/snappy-chat ## Basic Information - **Project Name**: snappy-chat - **Description**: 基于React + Nodejs + Express + MongoDB + Soket.io 的即时聊天室 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-02-11 - **Last Updated**: 2025-11-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 参考:https://github.com/koolkishan/chat-app-react-nodejs # 注意 .gitignore 文件 忽略了.env 文件的跟踪 在gitee拉取代码后 要在 server/ 下手动创建.env文件 并且设置环境变量,分别是后端运行端口,数据库统一资源定位符 PORT=5000 MONGO_URL="mongodb://localhost:27017/chat-react-node" # 前端 启动:npm start ### styled 是一个用于在 React 应用中编写 CSS-in-JS 样式的高阶组件库,通常与 styled-components 或 emotion 等库一起使用。它允许你在 JavaScript 或 TypeScript 中直接编写 CSS 样式,并将这些样式应用到 React 组件上。 ### Buffer 是 Node.js 中用于处理二进制数据的核心模块,通常用于处理文件、网络流、加密等操作。它提供了一种类似于数组的方式来操作二进制数据,但比传统的 JavaScript 数组更高效。在前端项目中需要安装依赖。在此项目中,该依赖用来处理头像数据,将其转化成base64格式直接用于img标签的src属性 ### emoji-picker-react 表情包依赖 ### socket.io-client 套接字客户端 ### multiple 趣味头像 # 服务端 启动:npm start ### 使用 socket.io 处理 WebSocket 连接,实现了用户上线管理和点对点消息传输 ### bcrypt 是一个用于 加密密码 的库,主要用于 哈希和验证用户密码,在此项目中用于加密密码,避免密码明文传输和存储 ### cors 用来配置跨域资源共享的源,解决同源策略 ### dotenv 用来存储全局变量等 ### Mongoose 是 MongoDB 的 ODM(对象数据建模库,将model映射数据库的集合,直接操作model来操作数据库),用于在 Node.js 中连接和操作 MongoDB 数据库。避免了底层sql的书写 ### nodemon 热更新