Next.js 15

Bài tóm tắt Vercel 2024 4. Điều chỉnh Độ khó: Trung bình

Vercel · 2024 · 4. Điều chỉnh · Độ khó: Trung bình — bài gốc

Vercel vừa làm framework Next.js vừa bán nền tảng chạy nó; nhận định về sản phẩm của họ trong trang này đều là "theo Vercel". Thông báo phát hành (release note); đây là bản phát hành đổi mặc định cache mà Vercel 2024 nói tới.

Thay đổi chính

  • Đổi mặc định cache (breaking): fetch, GET Route Handler và Client Router Cache chuyển từ "cache mặc định" sang "không cache mặc định". Theo Vercel, mặc định cũ được chọn vì nhanh nhất nhưng tương tác kém với Partial Prerendering và thư viện bên thứ ba dùng fetch. Router phía client đặt staleTime 0 cho Page (vẫn giữ loading.js 5 phút); muốn hành vi cũ thì tự bật lại.
  • API theo request thành async (breaking): cookies, headers, params, searchParams phải await, để server biết chỗ nào phải chờ request và render trước phần còn lại. Vẫn synchronous call được tạm thời kèm cảnh báo tới bản major sau; codemod tự chuyển, có CLI @next/codemod hướng dẫn nâng cấp.
  • Server Actions an toàn hơn: ID không đoán được, tính lại định kỳ giữa các build; action không dùng không lộ ID ra bundle. Vercel vẫn nhắc coi Server Action là endpoint HTTP công khai.
  • Self-hosting: không ghi đè Cache-Control do người dùng đặt, cấu hình được thời gian stale-while-revalidate.

Bài học cho SWE

  • Đổi mặc định gây vỡ trên nhiều app cần ba thứ: lý do rõ, đường quay về hành vi cũ, và codemod kèm giai đoạn cảnh báo.

Liên quan