fix: update SKILL.md from static to SSR mode

- Change output: 'static' to output: 'server' with node adapter
- Add @astrojs/node adapter documentation
- Update Static vs SSR explanation for Easypanel deployment
This commit is contained in:
2026-04-18 11:02:48 +07:00
parent 97df5aac8d
commit 6583d23c19

View File

@@ -59,18 +59,21 @@ package.json
### Static vs SSR
- **Static (default):** Pre-built HTML + รันบน CDN
- **SSR:** ใช้ `output: 'server'` สำหรับ dynamic pages
- Astro มี hybrid mode — บางหน้า static บางหน้า dynamic
- **SSR (default สำหรับ consent):** ใช้ `output: 'server'` สำหรับ API routes + consent logging
- **Static:** Pre-built HTML + รันบน CDN (ไม่มี backend)
- **Hybrid:** บางหน้า static บางหน้า dynamic
**สำหรับ Easypanel:** ใช้ SSR mode เพื่อรองรับ Astro DB API routes
## Critical Configuration Rules
### 1. astro.config.mjs (Tailwind v4 + Tina)
### 1. astro.config.mjs (Tailwind v4 + Tina + SSR)
```javascript
import { defineConfig } from 'astro/config'
import tailwindcss from '@tailwindcss/vite'
import tina from 'tinacms'
import node from '@astrojs/node'
export default defineConfig({
integrations: [
@@ -82,7 +85,8 @@ export default defineConfig({
vite: {
plugins: [tailwindcss()], // Tailwind v4 ใช้ @tailwindcss/vite
},
output: 'static',
output: 'server',
adapter: node({ mode: 'standalone' }),
server: {
port: 4321,
},
@@ -632,8 +636,8 @@ import tina from 'tinacms';
export default defineConfig({
integrations: [tina()],
vite: { plugins: [tailwindcss()] },
output: 'static',
// Astro DB รวมอยู่แล้ว ไม่ต้องติดตั้งเพิ่ม
output: 'server',
adapter: node({ mode: 'standalone' }),
});
```