Next.js 14 menjadi standar de‑facto untuk pengembangan web React modern. Tutorial ini mengajarkan langkah‑langkah instalasi, konfigurasi, contoh kode, serta best practice untuk memanfaatkan App Router dan React Server Components secara optimal di 2026.
1. Prasyarat & Persiapan Lingkungan
Pastikan Anda memiliki:
- Node.js versi 20.10 atau lebih baru (LTS).
- npm 10.x atau Yarn 4 (Berry).
- Git untuk version control.
- Editor kode favorit, misalnya VS Code dengan ekstensi
ESLint,Prettier, danTailwind CSS IntelliSense.
Verifikasi instalasi dengan perintah:
node -v
npm -v
2. Membuat Proyek Next.js 14 Baru
Gunakan create-next-app yang sudah ter‑update untuk Next.js 14:
npx create-next-app@latest my-next14-app --experimental-app-router
cd my-next14-app
Flag --experimental-app-router memastikan struktur app/ dibuat secara default, yang menggantikan pages/ sejak versi 13.4 dan menjadi stabil di 14.
3. Memasang Dependensi Tambahan
Untuk meningkatkan produktivitas dan performa, pasang paket berikut:
# UI dan styling
yarn add tailwindcss@latest postcss@latest autoprefixer@latest
# TypeScript (opsional, sangat direkomendasikan)
yarn add -D typescript @types/react @types/node
# ESLint & Prettier
yarn add -D eslint eslint-config-next prettier eslint-plugin-prettier
# React Server Components utilities
yarn add next@canary
Inisialisasi Tailwind:
npx tailwindcss init -p
Sesuaikan tailwind.config.js agar mendeteksi file di dalam folder app/:
module.exports = {
content: ["./app/**/*.{js,ts,jsx,tsx}", "./components/**/*.{js,ts,jsx,tsx}"],
theme: { extend: {} },
plugins: [],
};
4. Struktur Dasar App Router
Folder app/ menggantikan pages/. Berikut contoh struktur minimal:
app/
├─ layout.tsx # Root layout
├─ page.tsx # Home page (route "/")
├─ about/
│ └─ page.tsx # Route "/about"
└─ api/
└─ hello/route.ts # Route API "/api/hello"
4.1. Membuat Root Layout
/* app/layout.tsx */
import "./globals.css";
export const metadata = {
title: "Next.js 14 Demo",
description: "Demo aplikasi dengan App Router & RSC",
};
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
{children}
);
}
4.2. Membuat Halaman Server Component
/* app/page.tsx */
import Link from "next/link";
export default async function HomePage() {
// Contoh fetch data server‑side tanpa fetch API client
const res = await fetch("https://api.github.com/repos/vercel/next.js", {
next: { revalidate: 3600 }, // ISR 1 jam
});
const repo = await res.json();
return (
Selamat Datang di Next.js 14
Repositori Next.js memiliki {repo.stargazers_count} bintang di GitHub.
Tentang kami
);
}
5. Menambahkan API Route dengan Edge Runtime
Next.js 14 memungkinkan edge runtime untuk latency rendah.
/* app/api/hello/route.ts */
export const runtime = "edge";
export async function GET(request: Request) {
return new Response(JSON.stringify({ message: "Hello from Edge!" }), {
headers: { "Content-Type": "application/json" },
});
}
6. Mengkonfigurasi TypeScript & ESLint
Jika Anda memulai dengan JavaScript, jalankan:
touch tsconfig.json
yarn next telemetry disable # opsional, untuk privacy
Selanjutnya, buat file .eslintrc.json:
{
"extends": ["next", "next/core-web-vitals", "plugin:prettier/recommended"]
}
Jalankan lint untuk memvalidasi:
yarn lint
7. Optimasi Performa dengan Streaming & Incremental Static Regeneration
Berikut contoh halaman yang menggunakan await di dalam komponen server serta next: { revalidate } untuk ISR:
/* app/blog/[slug]/page.tsx */
import { notFound } from "next/navigation";
export const generateStaticParams = async () => {
const res = await fetch("https://example.com/api/posts");
const posts = await res.json();
return posts.map((p: any) => ({ slug: p.slug }));
};
export default async function BlogPost({ params }: { params: { slug: string } }) {
const res = await fetch(`https://example.com/api/posts/${params.slug}`, {
next: { revalidate: 600 },
});
if (!res.ok) notFound();
const post = await res.json();
return (
{post.title}
);
}
Dengan ISR, setiap 10 menit Next.js akan mere‑generasi halaman secara background tanpa downtime.
8. Deploy ke Vercel (Platform Resmi Next.js)
- Buat repositori GitHub dan push kode.
- Kunjungi vercel.com, pilih New Project → import repositori.
- Pastikan build preset
Next.jsterdeteksi otomatis. - Tambahkan environment variable bila diperlukan (mis.
NEXT_PUBLIC_API_URL). - Deploy, lalu Vercel akan memberikan URL preview dan production.
9. Best Practice untuk Proyek Next.js 14
- Server‑first mindset: gunakan Server Components untuk data‑intensive UI, kurangi bundle size client.
- Static & ISR kombinasi: konten yang tidak berubah cepat di‑static, yang berubah sesekali gunakan ISR.
- Edge Functions untuk API ringan: latency <10 ms global, cocok untuk autentikasi token atau geolocation.
- Typescript strict mode: aktifkan
"strict": trueditsconfig.jsonuntuk catch bugs lebih awal. - Cache control: manfaatkan header
Cache‑Controldi API routes untuk CDN caching. - Lint & Prettier CI: integrasikan dengan GitHub Actions agar setiap PR lulus lint.
- Observability: tambahkan
@vercel/analyticsatau OpenTelemetry untuk monitoring performa real‑time.
10. Studi Kasus: Migrasi Blog Lama ke Next.js 14
Tim DevCo memiliki blog statis berbasis Jekyll. Mereka memigrasi ke Next.js 14 untuk mendapatkan SSR, ISR, dan integrasi search. Langkah utama:
- Ekspor semua markdown ke folder
content/. - Gunakan
gray‑matteruntuk parsing front‑matter di server component. - Implementasi
generateStaticParamssehingga setiap posting di‑generate pada build. - Tambah webhook GitHub untuk rebuild otomatis pada perubahan konten.
- Deploy ke Vercel, hasilnya: LCP turun 45 %, Time‑to‑First‑Byte 30 ms secara global.
Pengalaman ini menunjukkan kekuatan kombinasi App Router, RSC, dan ISR dalam meningkatkan kecepatan tanpa mengorbankan kemudahan authoring.
Next.js 14 dengan App Router dan React Server Components menawarkan arsitektur yang lebih bersih, performa tinggi, dan pengalaman developer yang menyenangkan. Dengan mengikuti tutorial step‑by‑step ini—dari instalasi, konfigurasi, contoh kode, hingga best practice—Anda siap membangun aplikasi web modern yang scalable, SEO‑friendly, dan siap diproduksi di platform cloud seperti Vercel. Terapkan strategi ISR, edge API, dan TypeScript strict untuk memaksimalkan manfaat framework terbaru ini.
Panduan lengkap langkah demi langkah setup Next.js 14 dengan App Router, React Server Components, ISR, dan deployment ke Vercel. Termasuk contoh kode, konfigurasi TypeScript, dan best practice untuk Programming, Software Engineering, Web Development.
Programming,Software Engineering,Web Development,Next.js 14,App Router,React Server Components,ISR,Vercel
#Programming #SoftwareEngineering #WebDev #Tech #Coding
0 Komentar