Panduan Lengkap Setup Next.js 14 dengan App Router, TypeScript, Tailwind CSS, dan Deploy ke Vercel (2026)


Tutorial step‑by‑step ini membahas cara membangun proyek Next.js 14 modern, mengaktifkan App Router, menambahkan TypeScript serta Tailwind CSS, dan mengoptimalkan deployment ke Vercel dengan best practice terbaru.

1. Persiapan Lingkungan

Pastikan Anda menggunakan Node.js 20 LTS atau yang lebih baru. Versi ini sudah teroptimasi untuk server‑side rendering (SSR) dan React 19 yang menjadi basis Next.js 14.

node -v
# output contoh: v20.12.0

Jika belum terpasang, unduh dari nodejs.org dan instal.

2. Membuat Proyek Next.js 14

Gunakan create-next-app dengan flag --app untuk langsung mengaktifkan App Router.

npx create-next-app@latest my-next14-app \
  --ts \
  --eslint \
  --app
cd my-next14-app

Perintah di atas menghasilkan struktur folder berikut:

  • app/ – direktori utama router (bukan pages/).
  • components/ – tempat menyimpan UI reusable.
  • styles/ – file CSS global.

3. Menambahkan Tailwind CSS (v3.4+)

Tailwind tetap menjadi pilihan utama untuk styling utility‑first. Ikuti langkah berikut:

# Instalasi paket
npm i -D tailwindcss@latest postcss@latest autoprefixer@latest
# Inisialisasi konfigurasi
npx tailwindcss init -p

Edit tailwind.config.js supaya Next.js dapat menemukan semua file JSX/TSX:

module.exports = {
  content: [
    "./app/**/*.{js,ts,jsx,tsx}",
    "./components/**/*.{js,ts,jsx,tsx}"],
  theme: { extend: {} },
  plugins: [],
};

Ganti ./styles/globals.css dengan konten Tailwind:

@tailwind base;
@tailwind components;
@tailwind utilities;

Terakhir, impor stylesheet di app/layout.tsx:

import "./globals.css";

4. Konfigurasi TypeScript & ESLint

Next.js sudah menyiapkan tsconfig.json dan .eslintrc.json. Tambahkan aturan agar kode tetap konsisten dan aman:

# Instal plugin tambahan
npm i -D eslint-plugin-import eslint-config-prettier

# .eslintrc.json (potongan)
{
  "extends": ["next/core-web-vitals", "prettier"],
  "plugins": ["import"],
  "rules": {
    "import/order": ["error", { "alphabetize": { "order": "asc" } }]
  }
}

Jalankan linting:

npm run lint

5. Membuat Halaman Utama dengan Server Component

App Router memungkinkan React Server Components (RSC) secara default. Buat file app/page.tsx:

import Image from "next/image";
import Link from "next/link";

export default async function HomePage() {
  // Contoh fetch data server‑side tanpa menambah bundle client
  const res = await fetch("https://api.github.com/repos/vercel/next.js", {
    cache: "force-cache",
  });
  const repo = await res.json();

  return (
    

Next.js 14 + App Router

Repository: {repo.full_name}

About Page
); }

Karena file berada di folder app/, Next.js memperlakukannya sebagai Server Component secara otomatis, sehingga fetch tidak masuk ke bundle client.

6. Menambahkan Client Component untuk Interaktivitas

Buat folder components/ dan file Counter.tsx:

"use client"; // wajib untuk client component
import { useState } from "react";

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

Import komponen ini di app/about/page.tsx untuk menunjukkan perbedaan antara server dan client component.

7. Optimasi Performance – Streaming & Incremental Static Regeneration (ISR)

Next.js 14 mendukung streaming API yang memungkinkan pengiriman HTML seiring data tersedia. Tambahkan export const dynamic = "force-static"; pada halaman yang ingin di‑ISR.

// app/blog/[slug]/page.tsx
export const revalidate = 60; // ISR tiap 60 detik

export default async function BlogPost({ params }: { params: { slug: string } }) {
  const post = await fetch(`https://api.example.com/posts/${params.slug}`).then(r=>r.json());
  return (
    

{post.title}

{post.content}

); }

Dengan revalidate, Vercel akan membangun kembali halaman secara background setelah interval yang ditentukan.

8. Pengaturan Environment & Secrets

Gunakan file .env.local untuk variabel rahasia. Contoh:

NEXT_PUBLIC_API_URL=https://api.example.com
MY_SECRET_KEY=super‑secret-token

Variabel yang diawali NEXT_PUBLIC_ dapat diakses di client; sisanya hanya tersedia di server.

9. Deploy ke Vercel (versi 2026)

  1. Buat repo di GitHub dan push kode:
git init
git remote add origin git@github.com:username/my-next14-app.git
git add .
git commit -m "Initial commit"
git push -u origin main
  1. Masuk ke Vercel, klik New Project, pilih repo tadi.
  2. Vercel otomatis mendeteksi Next.js, pilih Next.js 14 pada menu Framework Settings.
  3. Di bagian Environment Variables, tambahkan semua variabel yang ada di .env.local (tanpa nilai default).
  4. Tekan Deploy. Vercel akan menjalankan npm install && npm run build kemudian men-deploy.

Setelah selesai, URL https://my-next14-app.vercel.app akan aktif. Vercel juga menyediakan preview deploy untuk setiap pull request.

10. Best Practice untuk Proyek Next.js 14

  • Gunakan App Router secara eksklusif: menghindari duplikasi antara pages/ dan app/.
  • Server Component default: hanya tambahkan "use client" ketika interaksi UI diperlukan.
  • Cache API secara selektif: gunakan fetch(..., { cache: "force-cache" }) untuk data statis, no-store untuk data yang selalu berubah.
  • Manfaatkan ISR untuk konten yang berubah periodik, sehingga mengurangi beban origin.
  • Static Image Optimization: gunakan next/image untuk otomatis meng‑optimasi ukuran dan format WebP.
  • Audit dengan Lighthouse setelah deploy; perbaiki Core Web Vitals yang menurun.

11. Debugging & Monitoring

Next.js 14 menambahkan overlay error yang lebih detail. Untuk logging server‑side, gunakan console.log di Server Component atau API Route; Vercel menampilkannya di dashboard Logs.

Integrasikan Sentry untuk error tracking real‑time:

# Instalasi SDK
npm i @sentry/nextjs

# src/sentry.client.config.ts
import * as Sentry from "@sentry/nextjs";
Sentry.init({ dsn: process.env.NEXT_PUBLIC_SENTRY_DSN });

Pastikan DSN disimpan sebagai NEXT_PUBLIC_SENTRY_DSN.

12. Kesimpulan

Dengan mengikuti langkah‑langkah di atas, Anda memiliki aplikasi Next.js 14 yang modern, tip‑top dari segi performa, tipe‑safety, dan styling. Deploy ke Vercel menjamin skala otomatis dan integrasi CI/CD yang seamless. Selamat membangun aplikasi web cepat dan aman!


Tutorial ini memberikan panduan lengkap dari instalasi hingga deployment, lengkap dengan best practice terbaru untuk Next.js 14. Implementasikan langkah‑langkahnya, eksplorasi fitur App Router, dan manfaatkan Vercel untuk skalabilitas production‑grade.
Panduan step‑by‑step setup Next.js 14 dengan App Router, TypeScript, Tailwind CSS, dan deployment ke Vercel. Termasuk konfigurasi, contoh kode, dan best practice 2026.

Programming,Software Engineering,Web Development

#Programming #SoftwareEngineering #WebDev #Tech #Coding

Posting Komentar

0 Komentar