Next.js là một framework phát triển ứng dụng web front-end dựa trên React, mang đến nhiều tính năng mạnh mẽ giúp tăng tốc độ, hiệu suất và khả năng tối ưu hóa SEO cho các ứng dụng web của bạn.
Next.js là một framework được xây dựng trên nền tảng React của Facebook, giúp tối ưu hóa việc render cả phía server (Server-Side Rendering - SSR) và phía client (Client-Side Rendering - CSR). Được phát triển bởi Vercel, Next.js cho phép các nhà phát triển xây dựng các ứng dụng web hiệu suất cao với các tính năng như render trước (pre-rendering), tĩnh hóa (static generation), và chuyển đổi động (dynamic routing).
Khi làm việc với Next.js, các bạn thường nghe nói tới hai khái niệm phổ biến là Server-Side Rendering (SSR) và Static Site Generation (SSG). Vậy điểm khác nhau cơ bản giữa hai loại render này là gì?
SSR là việc render các trang web trên server và gửi kết quả cho client. Điều này giúp cải thiện tốc độ tải trang và làm cho nội dung trang web có thể dễ dàng được các công cụ tìm kiếm index, tối ưu hóa SEO một cách tốt nhất. Trong Next.js, bạn có thể sử dụng hàm getServerSideProps
để thực hiện SSR.
getStaticProps
Để bắt đầu một dự án mới với Next.js, các bạn cần cài đặt Node.js và npm (hoặc yarn).
Các bạn có thể khởi tạo một dự án mới bằng cách sử dụng create-next-app
command:
/pages
Sau đó, các bạn có thể truy cập trang này tại /about
.
Next.js sử dụng một mô hình routing tự động dựa trên cấu trúc file. Bất kỳ file nào được tạo trong thư mục /pages
sẽ tự động trở thành một route. Ví dụ, với file about.js
chúng ta vừa tạo, URL sẽ là /about
.
Next.js cung cấp một component Link
để tạo liên kết giữa các trang:
/pages/api
Sau đó, các bạn có thể truy cập API này tại /api/hello
.
Trong một trang frontend, các bạn có thể gọi API này dùng fetch
:
export async function getServerSideProps() { const res = await fetch('http://localhost:3000/api/hello') const data = await res.json() return { props: { text: data.text } } } export default function Home({ text }) { return ( Home Page{text} ) }
Next.js là một công cụ mạnh mẽ và dễ dàng sử dụng cho việc phát triển các ứng dụng web hiện đại với tốc độ cao và tối ưu hóa SEO. Từ các tính năng render phía server đến khả năng tạo trang tĩnh, Next.js cung cấp cho các bạn tất cả những gì cần thiết để xây dựng các ứng dụng web tiên tiến. Các bạn nên thường xuyên cập nhật và tìm hiểu các tài liệu mới nhất để tận dụng tối đa sức mạnh của Next.js trong các dự án phát triển web của mình.