部署指南
TSH 支持多种部署方式,推荐使用 Cloudflare Pages 或 Cloudflare Workers 部署。
前置准备
bash
# 克隆仓库
git clone https://github.com/tsh-dev/tsh.git
cd tsh/cf-worker
# 安装依赖(仅构建需要 Node.js)
npm install方式一:Cloudflare Pages 部署(推荐)
1. 推送代码到 Git 仓库
将代码推送到 GitHub、GitLab 或 Codeberg。
2. 在 Cloudflare 创建 Pages 项目
- 登录 Cloudflare Dashboard
- 进入 Workers & Pages → Create application → Pages
- 连接你的 Git 仓库
3. 配置构建设置
| 设置项 | 值 |
|---|---|
| Framework preset | None |
| Build command | node build-worker.js |
| Build output directory | public |
| Root directory | cf-worker |
4. 部署
点击 Save and Deploy,Cloudflare 会自动构建并部署。
TIP
Cloudflare Pages 会自动为每次 Git 提交触发部署,并生成预览 URL。
方式二:Cloudflare Worker 部署
1. 安装 Wrangler CLI
bash
npm install -g wrangler
wrangler login2. 构建 Worker
bash
cd cf-worker
node build-worker.js这会生成 src/worker.js,将所有静态资源内联到 Worker 中。
3. 配置 wrangler.toml
在 cf-worker/ 目录下创建 wrangler.toml:
toml
name = "tsh"
main = "src/worker.js"
compatibility_date = "2024-01-01"
[vars]
# 可选:自定义变量4. 部署
bash
wrangler deploy部署成功后会输出 Worker URL,如 https://tsh.your-subdomain.workers.dev。
5. 绑定自定义域名(可选)
在 Cloudflare Dashboard 中:
- 进入 Worker 详情页
- Triggers → Custom Domains
- 添加你的域名
方式三:本地运行
开发服务器
bash
cd cf-worker
node local-dev.js
# 打开 http://localhost:8787/local-dev.js 提供完整的本地开发环境,包括 /proxy CORS 代理端点。
预览构建结果
bash
cd cf-worker
node build-worker.js
npx wrangler dev方式四:其他静态托管
TSH 的 public/ 目录可以部署到任何静态文件托管服务:
Vercel
bash
cd cf-worker
npx vercel --prod设置 Output Directory 为 public。
Netlify
bash
cd cf-worker
npx netlify deploy --prod --dir=publicNginx
将 public/ 目录内容复制到 Nginx 的 web root:
nginx
server {
listen 80;
server_name look.tsh.qzz.io;
root /var/www/tsh/public;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}注意
静态托管方式不支持 /proxy CORS 代理端点。从外部 URL 安装插件时需要目标服务器支持 CORS,或自行配置代理。
文档站部署
TSH 文档站使用 VitePress 构建,可通过 Wrangler 直接部署到 Cloudflare Pages。
1. 安装依赖
bash
cd tsh-docs
npm install2. 本地预览
bash
npm run dev
# 打开 http://localhost:5173/3. 构建并部署
bash
# 构建
npm run build
# 通过 Wrangler 一键部署到 Cloudflare Pages
npx wrangler pages deploywrangler.toml 已配置好 pages_build_output_dir,Wrangler 会自动读取。
4. 绑定自定义域名(可选)
在 Cloudflare Dashboard → Pages 项目 → Custom domains 中添加域名。
环境要求
| 组件 | 最低版本 | 说明 |
|---|---|---|
| Node.js | 18.0+ | 构建工具链 |
| Chrome / Edge | 86+ | File System Access API |
| 浏览器 | Chromium 内核 | Firefox/Safari 不支持 |
更新部署
bash
# 拉取最新代码
git pull
# 重新构建
cd cf-worker
node build-worker.js
# 重新部署
wrangler deploy浏览器端刷新即可获取最新版本,无需用户操作。