Skip to content

Development_CN

blycr edited this page Feb 18, 2026 · 7 revisions

开发与构建

如果你想修改 MSP 的源码或自行构建,请参考以下步骤。

环境要求

  • Go: 1.25 或更高版本

  • Node.js: 必须(用于构建前端资源)

  • pnpm: 推荐使用(更快的包管理工具)。安装方式:

    • 通过 corepack(Node.js 16.13+ 内置):corepack enable
    • 或通过 npm:npm install -g pnpm

项目结构

msp/
├── cmd/msp/        # Go 程序入口
├── internal/       # 核心业务逻辑 (config, handler, server, media...)
│   ├── config/     # 配置加载
│   ├── db/         # 数据库层
│   ├── handler/    # HTTP 处理器
│   ├── media/      # 媒体处理
│   │   └── transcoder.go # FFmpeg 转码逻辑
│   ├── server/     # 服务端核心
│   └── web/        # 前端嵌入逻辑

├── web/            # 前端工程
│   ├── src/        # 源代码 (JS/CSS)
│   ├── public/     # 静态资源
│   ├── dist/       # 构建产物 (gitignored)
│   └── vite.config.js
├── scripts/        # 构建脚本
├── config.example.json # 配置文件示例
└── go.mod          # Go 依赖定义

构建步骤 (Windows)

项目内置了 PowerShell 构建脚本,位于 scripts/build.ps1,会自动完成前端安装依赖、构建和后端编译。

  1. 打开 PowerShell 终端,进入项目根目录。
  2. 运行构建脚本:
.\scripts\build.ps1
  1. 构建成功后,根目录下会生成 msp.exe

手动构建 (Linux/macOS)

  1. 构建前端

    cd web
    pnpm install
    pnpm run build
    cd ..
  2. 构建后端

    go mod tidy
    go build -o msp ./cmd/msp

多平台 / 多架构构建

使用项目自带的 PowerShell 脚本进行自动化跨平台构建:

# 构建所有支持的平台和架构
./scripts/build.ps1 -Platforms windows,linux,macos,arm -Architectures x64,arm64,x86,v7,v8

脚本会自动在 bin/ 目录下生成各平台的二进制文件,在 checksums/ 生成校验和,并在 debug/ 生成调试符号副本。

详细脚本说明请参考:scripts/README.md

前端开发

前端代码位于 web/src 目录,使用 Vite 构建。

  • 运行 pnpm install 安装依赖。
  • 运行 pnpm run dev 启动开发服务器。
  • 运行 pnpm run build 生成生产环境资源到 web/dist

Go 后端通过 embed 特性将 web/dist 目录打包进可执行文件,因此发布前必须执行 pnpm run build

开发模式(Windows,推荐)

使用项目自带的开发脚本获得更快的迭代体验:

.\scripts\dev.ps1
  • 后端会编译到 bin/dev/msp-dev.exe,并在 *.go 变更时自动重编译 + 重启
  • 开发配置为 bin/dev/config.json(缺失时会从 config.example.json 拷贝生成,并自动补齐缺省字段)
  • 开发模式默认关闭“自动打开浏览器预览”
  • Vite 开发服务器已配置为局域网可访问(0.0.0.0),便于手机联调:
    • http://<你的电脑局域网IP>:5173/

Clone this wiki locally