2.6 KiB
2.6 KiB
F-132 — Quitar cache: 'no-store' de los fetches server-side del frontend
Cambios
frontend/src/lib/api.ts
fetchCategories()→ sincache: 'no-store'.fetchProducts(params)→ sincache: 'no-store'.fetchBrandBySlug(slug)→ sincache: 'no-store'.fetchPage(slug)→ sincache: 'no-store'.fetchBrands()→ sincache: 'no-store'.fetchCategoryBySlug(slug)→ sincache: 'no-store'.fetchProductBySlug(slug)→ sincache: 'no-store'.fetchProductVariants(productId)→ sincache: 'no-store'.fetchVariantPrice(variantId)→ sincache: 'no-store'.fetchStockAvailability(variantId)→ sincache: 'no-store'.fetchSearchSuggestions(term)→ mantienecache: 'no-store'(componente cliente, necesita frescura).
Páginas con revalidate
frontend/src/app/products/page.tsx:export const revalidate = 3600.frontend/src/app/products/[slug]/page.tsx:export const revalidate = 3600.frontend/src/app/categories/page.tsx:export const revalidate = 3600.frontend/src/app/categories/[slug]/page.tsx:export const revalidate = 3600.frontend/src/app/brands/page.tsx:export const revalidate = 3600.frontend/src/app/brands/[slug]/page.tsx:export const revalidate = 3600.
Search
frontend/src/app/search/page.tsx:export const dynamic = 'force-dynamic'.
Uploads
frontend/src/app/uploads/[...path]/route.ts: comentarios/*turbopackIgnore: true*/añadidos dentro de las 4 llamadaspath.join(...)que usan variables runtime.
Evidencia
cd frontend && npx tsc --noEmit→ exit 0.cd frontend && NEXT_PUBLIC_API_URL=http://192.168.18.93:3000 npm run build→ exit 0.- Tabla de rutas del build:
┌ ○ / 1h 1y ├ ○ /brands 1h 1y ├ ƒ /brands/[slug] ├ ○ /categories 1h 1y ├ ƒ /categories/[slug] ├ ○ /products 1h 1y ├ ƒ /products/[slug] ├ ƒ /search ├ ƒ /uploads/[...path] - Búsqueda en la salida del build:
DYNAMIC_SERVER_USAGE: 0 ocurrencias- Warnings de filesystem en route.ts: 0 ocurrencias
- Solo queda un warning no relacionado: "inferred your workspace root" (monorepo).
Notas
- El operador debe reiniciar el frontend:
monolith.sh prod restart. - Las páginas ahora son ISR (1h). Productos recién creados tardarán hasta 1h en aparecer en listados públicos.
- Si se necesita invalidación inmediata, futuro:
revalidatePathdesde admin al guardar.