Fase 0 SPA/SSR: scaffold Next.js 16 (App Router) + Tailwind v4 + home SSR
Inicia la reescritura del frontend a una app Next.js con SSR (Django pasará a ser API JSON). No toca producción: Django sigue sirviendo www; Next corre aparte en :3001. - web-next/: Next.js 16 App Router, TypeScript, Tailwind CSS v4, alias @/*. - lib/api.ts: cliente de la API Django (SSR -> 127.0.0.1:8001; navegador -> /api relativo vía Caddy). - app/page.tsx: home con SSR por petición (force-dynamic) que hace fetch de /api/home/news/ y /api/home/status/ y renderiza noticias + estado con Tailwind. - app/layout.tsx: lang=es + SEO (title/description/keywords/OpenGraph) por el Metadata API de Next (renderizado en servidor). - Servicio systemd novawow-next (next start -p 3001, DJANGO_API_BASE). Nota Next 16 (breaking): params/searchParams son Promise (await); fetch no se cachea por defecto. Verificado: SSR sirve HTML con datos reales de Django y SEO en el <head>; producción Django intacta. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "web-next",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev -p 3001",
|
||||
"build": "next build",
|
||||
"start": "next start -p 3001",
|
||||
"lint": "eslint"
|
||||
},
|
||||
"dependencies": {
|
||||
"next": "16.2.10",
|
||||
"react": "19.2.4",
|
||||
"react-dom": "19.2.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tailwindcss/postcss": "^4.3.2",
|
||||
"@types/node": "^20",
|
||||
"@types/react": "^19",
|
||||
"@types/react-dom": "^19",
|
||||
"eslint": "^9",
|
||||
"eslint-config-next": "16.2.10",
|
||||
"tailwindcss": "^4.3.2",
|
||||
"typescript": "^5"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user