Appearance
Phát triển & triển khai
Chạy local
bash
npm install
npm run db:local # áp migrations vào D1 local
npm run dev:api # http://localhost:8787
npm run dev:web # http://localhost:5173 (proxy /v1 → API)
npm run dev:docsKiểm tra
bash
npm run typecheck && npm test && npm run buildCloudflare
| Worker | Miền | Tài nguyên |
|---|---|---|
hoatieu3-web | www.hoatieu3.com, hoatieu3.com (301 → www) | assets apps/web/dist |
hoatieu3-api | api.hoatieu3.com | D1 hoatieu3, R2 hoatieu3-documents, cron |
hoatieu3-docs | docs.hoatieu3.com | assets .vitepress/dist |
DNS + chứng chỉ được Cloudflare tạo tự động nhờ custom_domain: true trong wrangler.jsonc.
Lần đầu
bash
npx wrangler d1 create hoatieu3 # chép database_id vào workers/api/wrangler.jsonc
npx wrangler r2 bucket create hoatieu3-documents
npx wrangler secret put NAVIGATOR_TOKEN --config workers/api/wrangler.jsoncDeploy
CI (.github/workflows/ci.yml) trên main: typecheck → test → build → migrate D1 → deploy api → web → docs. Cần secrets CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID.