Panduan Lengkap Setup Next.js 14 dengan App Router dan React Server Components di 2026


Next.js 14 menjadi standar baru bagi pengembang React yang menginginkan performa tinggi dan SEO optimal. Tutorial ini memandu Anda langkah demi langkah mulai dari instalasi, konfigurasi, hingga contoh kode lengkap dengan best practice.

1. Persiapan Lingkungan

Sebelum memulai, pastikan Anda memiliki Node.js 20.x LTS atau lebih baru, serta package manager pnpm (direkomendasikan) atau npm/yarn. Anda dapat mengunduh Node.js dari situs resmi. Untuk menginstal pnpm, jalankan:

npm install -g pnpm

Verifikasi instalasi:

node -v
pnpm -v

2. Membuat Proyek Next.js 14 Baru

pnpm create next-app@latest my-next14-app --typescript

Perintah di atas akan membuat folder my-next14-app dengan TypeScript terkonfigurasi. Pilih opsi "app" ketika diminta untuk memilih router (App Router). Setelah selesai, masuk ke direktori proyek:

cd my-next14-app

3. Instalasi Dependensi Tambahan

Untuk memanfaatkan React Server Components (RSC) dan fitur image optimization terbaru, tambahkan paket berikut:

pnpm add @next/font@latest next-auth@latest prisma@latest @prisma/client@latest

Jika menggunakan database PostgreSQL, pastikan PostgreSQL terinstal dan jalankan:

pnpm prisma init

File prisma/schema.prisma akan dibuat, edit sesuai kebutuhan.

4. Konfigurasi Next.js (next.config.mjs)

import { createSecureHeaders } from 'next-secure-headers';

/** @type {import('next').NextConfig} */
const nextConfig = {
  reactStrictMode: true,
  swcMinify: true,
  images: {
    remotePatterns: [{
      protocol: 'https',
      hostname: '**',
    }],
  },
  async headers() {
    return [{
      source: '/(.*)',
      headers: createSecureHeaders({
        contentSecurityPolicy: {
          directives: {
            defaultSrc: "'self'",
            scriptSrc: "'self' 'unsafe-inline'",
            styleSrc: "'self' 'unsafe-inline'",
            imgSrc: "'self' data:",
          },
        },
      }),
    }];
  },
};

export default nextConfig;

Konfigurasi di atas mengaktifkan Strict Mode, minifikasi SWC, dukungan image remote, dan header keamanan.

5. Membuat Struktur App Router

Next.js 14 menggunakan folder app sebagai root router. Berikut contoh struktur minimal:

app/
├─ layout.tsx          # Layout global
├─ page.tsx            # Halaman beranda
├─ about/
│   └─ page.tsx       # Halaman tentang
├─ dashboard/
│   ├─ layout.tsx     # Layout khusus dashboard (client)
│   └─ page.tsx       # Server Component dashboard
└─ api/
    └─ auth/
        └─ route.ts   # Route API untuk autentikasi

5.1 layout.tsx (global)

export default function RootLayout({ children }: { children: React.ReactNode }) {
  return (
    
      
        Next.js 14 Demo
      
      
        {children}
      
    
  );
}

5.2 page.tsx (beranda)

export const metadata = { title: 'Beranda' };

export default async function HomePage() {
  const res = await fetch('https://api.example.com/latest-news');
  const news = await res.json();
  return (
    

Selamat Datang di Next.js 14

    {news.map(item => (
  • {item.title}
  • ))}
); }

Catatan: Karena file berada di folder app, fungsi ini dijalankan di server secara default (React Server Component).

6. Menambahkan Client Component untuk Interaktivitas

Jika Anda membutuhkan state atau efek di browser, gunakan directive 'use client' pada file.

// app/dashboard/Counter.tsx
'use client';
import { useState } from 'react';

export default function Counter() {
  const [count, setCount] = useState(0);
  return (
    

Count: {count}

); }

Lalu import di dashboard/page.tsx:

import Counter from './Counter';

export default function DashboardPage() {
  return (
    

Dashboard

); }

7. Integrasi Autentikasi dengan NextAuth.js

NextAuth.js versi 5 (rilis 2026) mendukung middleware berbasis Edge. Tambahkan file app/api/auth/[...nextauth]/route.ts:

import NextAuth from 'next-auth';
import GithubProvider from 'next-auth/providers/github';

export const runtime = 'edge'; // menjalankan di Edge Runtime

export const GET = NextAuth({
  providers: [
    GithubProvider({
      clientId: process.env.GITHUB_ID,
      clientSecret: process.env.GITHUB_SECRET,
    }),
  ],
  callbacks: {
    async session({ session, token }) {
      session.user.id = token.sub;
      return session;
    },
  },
});

Jangan lupa menambahkan variabel lingkungan di .env.local:

GITHUB_ID=your_github_client_id
GITHUB_SECRET=your_github_client_secret
NEXTAUTH_URL=http://localhost:3000

8. Deploy ke Vercel (Edge Network)

Next.js 14 teroptimasi untuk Vercel Edge Functions. Ikuti langkah:

  1. Push repository ke GitHub.
  2. Buka Vercel Dashboard → New Project.
  3. Hubungkan ke repositori, pilih Next.js sebagai framework.
  4. Tambahkan environment variables (GITHUB_ID, GITHUB_SECRET, NEXTAUTH_URL).
  5. Deploy! Vercel otomatis mengatur serverless atau edge sesuai konfigurasi runtime.

9. Best Practice untuk Production

  • Static Generation (SSG) bila memungkinkan: gunakan generateStaticParams untuk halaman dinamis yang tidak berubah sering.
  • Image Optimization: manfaatkan next/image dengan loader default dan atur domains di next.config.mjs.
  • Security Headers: gunakan next-secure-headers seperti contoh konfigurasi di atas.
  • TypeScript Strict Mode: pastikan tsconfig.json memiliki "strict": true untuk mengurangi bug.
  • Monitoring: integrasikan dengan Vercel Analytics atau open‑source tool seperti Umami untuk tracking performa.

10. Testing dengan Playwright

Instal Playwright dan tambahkan skrip test:

pnpm add -D @playwright/test

# buat file e2e.test.ts di folder tests
npx playwright install
pnpm test

Contoh test sederhana:

import { test, expect } from '@playwright/test';

test('homepage has welcome message', async ({ page }) => {
  await page.goto('/');
  await expect(page.locator('h1')).toHaveText('Selamat Datang di Next.js 14');
});

11. Kesimpulan Langkah Selanjutnya

Setelah berhasil menguasai dasar Next.js 14, eksplorasi fitur lanjutan seperti Incremental Static Regeneration (ISR) dengan revalidate, Route Handlers untuk API custom, dan integrasi dengan layanan AI (misalnya OpenAI) untuk konten dinamis.


Dengan mengikuti tutorial ini, Anda kini memiliki aplikasi Next.js 14 yang modern, cepat, dan aman. Mulailah menambahkan fitur bisnis Anda, manfaatkan server components untuk mengurangi bundle size, dan scale secara otomatis lewat Vercel Edge Network. Selamat coding!
Tutorial langkah demi langkah setup Next.js 14 dengan App Router, React Server Components, autentikasi NextAuth, dan deployment Vercel. Cocok untuk developer Web Development 2026.

Programming,Software Engineering,Web Development

#Programming #SoftwareEngineering #WebDev #Tech #Coding

Posting Komentar

0 Komentar