-
Notifications
You must be signed in to change notification settings - Fork 0
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
- 通过 corepack(Node.js 16.13+ 内置):
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 依赖定义
项目内置了 PowerShell 构建脚本,位于 scripts/build.ps1,会自动完成前端安装依赖、构建和后端编译。
- 打开 PowerShell 终端,进入项目根目录。
- 运行构建脚本:
.\scripts\build.ps1- 构建成功后,根目录下会生成
msp.exe。
-
构建前端:
cd web pnpm install pnpm run build cd ..
-
构建后端:
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。
使用项目自带的开发脚本获得更快的迭代体验:
.\scripts\dev.ps1- 后端会编译到
bin/dev/msp-dev.exe,并在*.go变更时自动重编译 + 重启 - 开发配置为
bin/dev/config.json(缺失时会从config.example.json拷贝生成,并自动补齐缺省字段) - 开发模式默认关闭“自动打开浏览器预览”
- Vite 开发服务器已配置为局域网可访问(
0.0.0.0),便于手机联调:http://<你的电脑局域网IP>:5173/