Skip to content

源码部署

适用于需要二次开发或定制功能的场景。

环境要求

依赖最低版本说明
Node.js18.x推荐 LTS 版本
npm9.x随 Node.js 一起安装

服务端部署

1. 克隆项目

bash
git clone <your-repo-url> im
cd im/server

2. 安装依赖

bash
npm install

主要依赖:

包名用途
expressWeb 框架
wsWebSocket 服务
sql.jsSQLite(WebAssembly 版本,无需编译)
jsonwebtokenJWT 签发与验证
bcryptjs密码加密
web-pushWeb Push 推送

3. 启动服务

bash
node index.js

或使用 PM2 进行进程管理(推荐):

bash
npm install -g pm2
pm2 start index.js --name im-server
pm2 save
pm2 startup

4. 验证

bash
curl http://localhost:3000/api/push/public-key

前端部署

1. 安装 HBuilderX

DCloud 官网 下载并安装 HBuilderX。

2. 导入项目

在 HBuilderX 中:文件 → 导入 → 从本地目录导入 → 选择 uniapp/ 目录。

3. 修改配置

编辑 uniapp/config/base.js,设置正确的后端地址:

javascript
export default {
  baseURL: 'https://your-main-backend.com',
  imBaseURL: 'https://chat.example.com:3000/api',
  wsURL: 'wss://chat.example.com:3000'
}

4. 运行

平台操作
H5运行 → 运行到浏览器 → Chrome
微信小程序运行 → 运行到小程序模拟器 → 微信开发者工具
App运行 → 运行到手机或模拟器

5. 打包发布

平台操作
H5发行 → 网站-H5手机版 → 上传 dist 目录到 Web 服务器
微信小程序发行 → 小程序-微信 → 上传到微信后台

开发模式

开发时建议同时启动前后端,并配置好跨域:

bash
# 终端 1:启动 IM 后端
cd server && node index.js

# 终端 2:启动 UniApp 开发服务
# 在 HBuilderX 中运行到浏览器

Nginx 开发环境跨域配置:

nginx
server {
    listen 8080;
    
    location /api/ {
        proxy_pass http://127.0.0.1:3000;
    }
    
    location / {
        proxy_pass http://127.0.0.1:8081;  # UniApp dev server
    }
}