Next.js 14 telah menjadi standar de‑facto untuk pengembangan React modern. Dalam tutorial ini Anda akan dipandu langkah demi langkah mulai dari install, konfigurasi Tailwind CSS, menambahkan fitur API Route, hingga deployment otomatis ke Vercel—semua dengan best practice terbaru untuk Programming, Software Engineering, dan Web Development.
1. Persiapan Lingkungan
Pastikan Anda memiliki Node.js versi 20.12.0 atau lebih baru serta npm atau pnpm. Verifikasi dengan:
node -v
npm -v # atau pnpm -v
Jika belum terinstall, unduh dari nodejs.org atau gunakan nvm untuk manajemen versi.
2. Membuat Proyek Next.js 14 Baru
Gunakan perintah resmi berikut untuk membuat proyek dengan app router yang diaktifkan secara default:
npx create-next-app@latest my-next14-app --ts --app-dir
Opsi --ts menyiapkan TypeScript, yang kini direkomendasikan untuk meningkatkan maintainability dalam Software Engineering.
2.1. Struktur Direktori Utama
app/– folder utama bagi route berbasis App Router.pages/– masih tersedia untuk kompatibilitas legacy.components/– komponen UI reusable.styles/– tempat file CSS global.
3. Instalasi Tailwind CSS 4.0 (Stable pada Mei 2026)
Tailwind 4.0 membawa JIT yang lebih cepat dan mode future untuk styling dinamis. Ikuti langkah berikut:
# Menggunakan npm
npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
# Inisialisasi konfigurasi
npx tailwindcss init -p
File tailwind.config.js akan berisi:
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
"./app/**/*.{js,ts,jsx,tsx}",
"./pages/**/*.{js,ts,jsx,tsx}",
"./components/**/*.{js,ts,jsx,tsx}",
],
theme: {
extend: {},
},
plugins: [],
};
Update ./styles/globals.css dengan directive Tailwind:
@tailwind base;
@tailwind components;
@tailwind utilities;
Terakhir, import globals.css di app/layout.tsx:
import '../styles/globals.css';
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
{children}
);
}
4. Membuat Halaman Utama dengan App Router
Buat file app/page.tsx:
import Link from 'next/link';
export default function Home() {
return (
Selamat Datang di Next.js 14
Framework modern untuk React dengan Server Components, Streaming, dan Edge Runtime.
Buka Dashboard
);
}
Perhatikan penggunaan kelas Tailwind untuk styling responsif dan utility‑first.
5. Menambahkan Route API dengan Edge Function
Next.js 14 memungkinkan API Route dijalankan di Edge Runtime untuk latency minimal. Buat folder app/api/hello/route.ts:
export const runtime = 'edge';
export async function GET(request: Request) {
return new Response(JSON.stringify({ message: 'Hello from Edge Runtime' }), {
status: 200,
headers: { 'Content-Type': 'application/json' },
});
}
Uji dengan curl http://localhost:3000/api/hello. Hasilnya akan berupa JSON.
6. Mengintegrasikan SWR untuk Data Fetching
SWR (stale‑while‑revalidate) tetap menjadi pilihan utama untuk fetching data pada client-side. Install:
npm install swr
Contoh penggunaan di app/dashboard/page.tsx:
import useSWR from 'swr';
const fetcher = (url: string) => fetch(url).then(res => res.json());
export default function Dashboard() {
const { data, error, isLoading } = useSWR('/api/hello', fetcher);
if (isLoading) return Loading...
;
if (error) return Failed to load.
;
return (
Dashboard
{JSON.stringify(data, null, 2)}
);
}
7. Konfigurasi Linter & Formatter (ESLint + Prettier)
Standar kode bersih penting untuk Software Engineering. Install paket:
npm install -D eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin prettier eslint-config-prettier eslint-plugin-react
Berikut contoh .eslintrc.json yang kompatibel dengan Next.js 14:
{
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint", "react"],
"extends": [
"next/core-web-vitals",
"plugin:@typescript-eslint/recommended",
"plugin:react/recommended",
"prettier"
],
"rules": {
"react/react-in-jsx-scope": "off",
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }]
}
}
Tambahkan skrip di package.json:
"scripts": {
"lint": "eslint . --ext .js,.jsx,.ts,.tsx",
"format": "prettier --write ."
}
Jalankan npm run lint untuk memeriksa kualitas kode.
8. Optimasi Performance – Image Component dan Middleware
Next.js 14 memperkenalkan next/image versi 3 yang otomatis mengoptimalkan WebP, AVIF, dan lazy‑loading.
import Image from 'next/image';
export function Hero() {
return (
Next.js 14 Powered
);
}
Untuk menolak request bot, buat middleware.ts di root:
import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';
export function middleware(request: NextRequest) {
const ua = request.headers.get('user-agent') || '';
if (/bot|crawl|spider/i.test(ua)) {
return new NextResponse('Bots not allowed', { status: 403 });
}
return NextResponse.next();
}
export const config = { matcher: '/' };
Middleware ini dijalankan di Edge, meminimalisir beban server.
9. Deploy ke Vercel dengan GitHub Integration
- Push repository ke GitHub.
- Buka vercel.com dan pilih New Project.
- Import repo, Vercel otomatis mendeteksi Next.js 14.
- Pastikan variabel lingkungan (jika ada) ditambahkan di Settings > Environment Variables.
- Deploy! Vercel memberikan URL preview setiap PR, memudahkan CI/CD.
10. Best Practice untuk Production
- Static Generation (SSG) bila memungkinkan – gunakan
generateStaticParamsuntuk halaman dinamis. - Incremental Static Regeneration (ISR) – tambahkan
revalidatepadafetchataugetStaticProps. - Security headers – tambahkan
next.config.js:module.exports = { async headers() { return [{ source: '/(.*)', headers: [ { key: 'X-Content-Type-Options', value: 'nosniff' }, { key: 'X-Frame-Options', value: 'DENY' }, { key: 'Referrer-Policy', value: 'strict-origin-when-cross-origin' }, ], }]; }, }; - Monitoring – integrasikan dengan Vercel Analytics atau gunakan Sentry untuk error tracking.
11. Studi Kasus: Migrasi dari Next.js 13 ke 14 dengan App Router
Sebuah tim startup meng-upgrade aplikasi e‑commerce mereka. Langkah kunci:
- Ubah
pages/menjadiapp/secara bertahap; tiap folder menjadilayout.tsxdanpage.tsx. - Ganti
next/linkdengannext/navigationuntukuseRouterbaru. - Manfaatkan
fetchserver‑side di Server Component, mengurangi bundle size sebesar 30%. - Deploy ke Vercel, monitoring latency turun dari 210 ms ke 140 ms.
Hasil akhir: peningkatan Core Web Vitals, skor LCP < 1 s, dan konversi naik 12%.
Dengan mengikuti panduan ini Anda akan memiliki proyek Next.js 14 yang modern, cepat, dan siap produksi. Mulai dari instalasi, integrasi Tailwind CSS, API Edge, hingga deployment otomatis ke Vercel, semua langkah mengikuti best practice terkini dalam Programming, Software Engineering, dan Web Development. Jangan lupa menambahkan linting, security headers, dan monitoring untuk menjaga kualitas kode seiring pertumbuhan aplikasi.
Tutorial lengkap setup Next.js 14 dengan App Router, Tailwind CSS, API Edge, dan deployment Vercel. Langkah demi langkah, best practice, dan studi kasus migrasi untuk Programming, Software Engineering, dan Web Development.
Programming,Software Engineering,Web Development,Next.js 14,Tailwind CSS,Vercel,App Router
#Programming #SoftwareEngineering #WebDev #Tech #Coding
0 Komentar