#!/bin/bash # ============================================================ # 手动触发项目 JS→WASM 预编译(在服务器上执行) # ------------------------------------------------------------ # 用法:bash deploy/precompile_wasm.sh <项目ID> # 示例:bash deploy/precompile_wasm.sh 1 # 预编译项目一 # 效果:uploads/demos/{id}/wasm/ 下生成 .wasm 与 report.json # 等价接口:POST /api/project/{id}/precompile(仅博主) # ============================================================ set -eu PROJECT_ID="${1:?用法:bash deploy/precompile_wasm.sh <项目ID>}" cd /var/www/blog /var/www/blog/venv/bin/python -m backend.services.wasm_builder "$PROJECT_ID" # 以 root 执行时,把产物属主修正为 blog,保证 Nginx 可读 if [ "$(id -u)" = "0" ]; then chown -R blog:blog "/var/www/blog/uploads/demos/${PROJECT_ID}/wasm" fi