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 (bukanpages/).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)
- 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
- Masuk ke Vercel, klik New Project, pilih repo tadi.
- Vercel otomatis mendeteksi Next.js, pilih
Next.js 14pada menu Framework Settings. - Di bagian Environment Variables, tambahkan semua variabel yang ada di
.env.local(tanpa nilai default). - Tekan Deploy. Vercel akan menjalankan
npm install && npm run buildkemudian 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/danapp/. - Server Component default: hanya tambahkan
"use client"ketika interaksi UI diperlukan. - Cache API secara selektif: gunakan
fetch(..., { cache: "force-cache" })untuk data statis,no-storeuntuk data yang selalu berubah. - Manfaatkan ISR untuk konten yang berubah periodik, sehingga mengurangi beban origin.
- Static Image Optimization: gunakan
next/imageuntuk 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
0 Komentar