Panduan Lengkap Setup Next.js 14 dengan App Router, Turbopack, dan Edge Runtime (2026)


Next.js 14 dirilis pada Mei 2026 dengan fitur App Router 2.0, Turbopack default, dan dukungan penuh Edge Runtime. Tutorial ini memberi langkah demi langkah instalasi, konfigurasi, contoh kode, serta best practice untuk membangun aplikasi React modern yang cepat dan scalable.

1. Prerequisite

Pastikan Anda memiliki Node.js LTS (v22.x) atau lebih baru, npm atau pnpm, serta Git. Untuk pengujian Edge Runtime, gunakan browser modern atau curl yang mendukung HTTP/3.

2. Instalasi Next.js 14

2.1 Buat proyek baru dengan create-next-app

npx create-next-app@latest my-next14-app \
  --example with-tailwindcss \
  --ts
cd my-next14-app

Template with-tailwindcss sudah terintegrasi dengan Tailwind 3.4, cocok untuk UI modern.

2.2 Upgrade bila sudah ada proyek lama

# Pastikan package manager terbaru
npm install -g npm@latest
# Upgrade core packages
npm install next@^14.0.0 react@^19.0.0 react-dom@^19.0.0
# Upgrade Turbopack (opsional, default di Next 14)
npm install @next/turbopack@latest --save-dev

Jalankan npm run lint untuk memastikan tidak ada konflik versi.

3. Konfigurasi Dasar

3.1 next.config.mjs

import { createVanillaExtractPlugin } from '@vanilla-extract/next-plugin';

/** @type {import('next').NextConfig} */
const nextConfig = {
  reactStrictMode: true,
  experimental: {
    appDir: true, // aktifkan App Router v2
    serverActions: true, // Server Actions API default
    typedRoutes: true,
  },
  images: {
    remotePatterns: [{ hostname: 'images.unsplash.com' }],
  },
  // Edge Runtime default untuk semua route kecuali yang di‑override
  output: 'standalone',
};

export default createVanillaExtractPlugin(nextConfig);

File dikonversi menjadi .mjs agar dapat menggunakan import ES‑module.

3.2 Tambahkan TypeScript strict mode

npx tsc --init --strict

Setel noImplicitAny, strictNullChecks, dan exactOptionalPropertyTypes untuk kualitas kode lebih tinggi.

4. Struktur Folder dengan App Router 2.0

/app
  /layout.tsx          # Root layout
  /page.tsx            # Home page
  /dashboard
    /layout.tsx        # Dashboard layout
    /page.tsx          # Dashboard home
    /settings
      /page.tsx        # Nested route
  /api
    /hello/route.ts   # Edge API route
/lib
  /utils.ts
/components
  /Button.tsx
  /Header.tsx

Folder app menggantikan pages. Setiap folder otomatis menjadi route.

5. Contoh Kode – Page dan Server Action

5.1 app/page.tsx

import Image from 'next/image';
import { createClient } from '@/lib/supabase';

export default async function HomePage() {
  const supabase = createClient();
  const { data: posts } = await supabase.from('posts').select('*').limit(5);
  return (
    <main className="p-8">
      <h1 className="text-4xl font-bold mb-6">Selamat datang di Next.js 14</h1>
      <ul className="space-y-4">
        {posts?.map((post) => (
          <li key={post.id}>
            <h2 className="text-2xl">{post.title}</h2>
            <p>{post.excerpt}</p>
          </li>
        ))}
      </ul>
    </main>
  );
}

Fungsi async dijalankan di server, memanfaatkan Edge Runtime untuk latency ultra‑rendah.

5.2 Server Action – app/dashboard/page.tsx

"use server";
import { revalidatePath } from 'next/cache';
import { createClient } from '@/lib/supabase';

export async function addTask(formData: FormData) {
  const supabase = createClient();
  const title = formData.get('title') as string;
  await supabase.from('tasks').insert({ title });
  // Revalidate cache pada route dashboard
  revalidatePath('/dashboard');
}

export default function Dashboard() {
  return (
    <section className="p-6">
      <h2 className="text-3xl mb-4">Dashboard</h2>
      <form action={addTask}>
        <input name="title" required className="border p-2 mr-2" />
        <button type="submit" className="bg-blue-600 text-white p-2">Tambah</button>
      </form>
    </section>
  );
}

Server Action memungkinkan posting data tanpa API endpoint terpisah, memanfaatkan use server directive.

6. Deploy ke Vercel dengan Edge Runtime

  1. Push repository ke GitHub.
  2. Buka Vercel dashboard dan pilih New Project.
  3. Hubungkan repo, pilih Next.js preset, dan aktifkan Edge Functions pada Settings → Functions → Runtime.
  4. Tambahkan variable lingkungan (e.g., SUPABASE_URL, SUPABASE_KEY).
  5. Deploy. Vercel otomatis menggunakan Turbopack untuk build dan meng‑cache statis, sementara route API berjalan di Edge.

7. Optimasi Performa

  • Image Optimization: gunakan next/image dengan loader: 'custom' bila meng‑serve dari CDN khusus.
  • Turbopack: jalankan npm run build -- --profile untuk melihat bottleneck. Biasanya, lib besar dapat di‑split menjadi chunks terpisah.
  • Incremental Static Regeneration (ISR): pada halaman yang tidak berubah tiap detik, tambahkan revalidate = 60 di file page.
  • Edge Caching: set header Cache-Control: public, max-age=31536000, immutable pada asset static.

8. Best Practice

  • Selalu gunakan TypeScript strict dan lint dengan eslint-config-next.
  • Isolasi state management ke redux-toolkit atau zustand di client‑side; server‑side gunakan server actions atau React Query dengan fetch yang ter‑cache.
  • Jangan menaruh secret di next.config.mjs; gunakan Vercel/Netlify env vars.
  • Gunakan app/router.tsx untuk global error handling; contoh di Next.js error‑boundary example.
  • Uji Edge Functions secara lokal dengan vercel dev --edge.

9. Debugging & Monitoring

  1. Jalankan npm run dev dengan NEXT_DEBUG=1 untuk log detail.
  2. Integrasikan Sentry untuk error tracking di both client dan Edge.
  3. Gunakan next/trace (built‑in) untuk tracing request latency di Vercel Analytics.

10. Kesimpulan

Next.js 14 menggabungkan App Router 2.0, Turbopack, dan Edge Runtime menjadi satu platform yang memungkinkan developer membangun aplikasi React yang sangat cepat, scalable, dan mudah dipelihara. Dengan mengikuti tutorial ini, Anda dapat menyiapkan proyek dari awal, mengkonfigurasi environment modern, menulis kode yang bersih, dan menerapkan best practice yang disarankan komunitas pada tahun 2026.


Dengan mengikuti langkah‑langkah di atas, Anda tidak hanya berhasil meng‑setup Next.js 14 secara optimal, tetapi juga memanfaatkan Edge Runtime untuk latency ultra‑rendah, Turbopack untuk build yang cepat, dan Server Actions untuk API‑free data handling. Terapkan best practice, monitor performa, dan deploy ke Vercel agar aplikasi Anda siap bersaing di era web modern.
Panduan lengkap instalasi, konfigurasi, contoh kode, dan best practice Next.js 14 dengan App Router, Turbopack, dan Edge Runtime – tutorial step-by-step untuk Programming, Software Engineering, dan Web Development tahun 2026.

Programming,Software Engineering,Web Development,Next.js 14,App Router,Turbopack,Edge Runtime

#Programming #SoftwareEngineering #WebDev #Tech #Coding

Posting Komentar

0 Komentar