Next.js 14 menjadi standar de‑facto untuk pengembangan web React modern. Artikel ini memberikan tutorial step‑by‑step mulai dari instalasi, konfigurasi, contoh kode, hingga best practice untuk produksi.
1. Prasyarat
Pastikan Anda memiliki:
- Node.js >= 20.0 (direkomendasikan LTS 20.14)
- npm atau Yarn (versi 2+)
- Git
- Akun Vercel (untuk deployment)
2. Instalasi Next.js 14 dengan Turbopack
npx create-next-app@latest my-next14-app --ts
cd my-next14-app
# Mengaktifkan Turbopack (default pada Next 14)
npm install
Perintah di atas akan menghasilkan struktur proyek standar dengan TypeScript, ESLint, dan Tailwind CSS (opsional). Next.js 14 menggunakan Turbopack sebagai bundler default, yang memberikan build tiga kali lebih cepat dibanding Webpack.
3. Mengaktifkan App Router
App Router menggantikan pages dengan folder app. Jika tidak ada, buat:
mkdir -p app
Contoh struktur dasar:
app/
├─ layout.tsx
├─ page.tsx
├─ about/
│ └─ page.tsx
└─ api/
└─ hello/route.ts
3.1. layout.tsx
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
My Next.js 14 App
{children}
);
}
Layout bersifat global dan dapat digabungkan dengan nested layout.
3.2. page.tsx (Home)
export default function HomePage() {
return (
Welcome to Next.js 14
App Router with Turbopack is ready!
);
}
4. Konfigurasi TypeScript & ESLint
Next.js sudah menyediakan tsconfig.json dan .eslintrc.json. Tambahkan rule berikut untuk meningkatkan kode bersih:
{
"extends": ["next", "next/core-web-vitals", "plugin:@typescript-eslint/recommended"],
"rules": {
"@typescript-eslint/no-unused-vars": "error",
"react/react-in-jsx-scope": "off",
"no-console": "warn"
}
}
5. Menambahkan Tailwind CSS (Opsional, tapi populer)
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
Update tailwind.config.js:
module.exports = {
content: ["./app/**/*.{js,ts,jsx,tsx}", "./pages/**/*.{js,ts,jsx,tsx}"],
theme: { extend: {} },
plugins: [],
};
Tambahkan Tailwind directives ke app/globals.css:
@tailwind base;
@tailwind components;
@tailwind utilities;
6. Membuat API Route dengan Edge Functions
Next.js 14 mendukung Edge Runtime secara native. Buat file app/api/hello/route.ts:
import { NextResponse } from 'next/server';
export const runtime = 'edge';
export async function GET(request: Request) {
return NextResponse.json({ message: 'Hello from Edge Function!' });
}
Uji dengan npm run dev dan kunjungi http://localhost:3000/api/hello.
7. Optimasi Performa
- Dynamic Import: gunakan
next/dynamicuntuk code‑splitting pada komponen berat. - Image Optimization: ganti
<img>dengannext/imageuntuk lazy‑load otomatis. - Cache Header: pada API Edge, set
Cache‑Controluntuk CDN caching.
Contoh Dynamic Import
import dynamic from 'next/dynamic';
const HeavyChart = dynamic(() => import('../components/HeavyChart'), { ssr: false });
8. Testing dengan Jest & React Testing Library
npm install -D jest @testing-library/react @testing-library/jest-dom @types/jest ts-jest
npx jest --init
Contoh test:
import { render, screen } from '@testing-library/react';
import HomePage from '@/app/page';
test('renders welcome message', () => {
render( );
expect(screen.getByText(/Welcome to Next.js 14/i)).toBeInTheDocument();
});
9. Deploy ke Vercel
- Push repo ke GitHub.
- Buka vercel.com dan klik New Project.
- Pilih repository, Vercel otomatis mendeteksi Next.js 14.
- Tambahkan variable environment bila diperlukan (mis.
NEXT_PUBLIC_API_URL). - Deploy! Vercel akan menghasilkan URL
https://your-project.vercel.app.
Best Practice pada Vercel
- Aktifkan Analytics untuk memantau LCP & CLS.
- Gunakan Edge Middleware untuk header keamanan (CSP, X‑Frame‑Options).
- Set
output: 'standalone'padanext.config.jsuntuk Docker build.
10. Containerisasi dengan Docker (Opsional)
# Dockerfile
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM node:20-alpine AS runner
WORKDIR /app
ENV NODE_ENV=production
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/public ./public
COPY --from=builder /app/package*.json ./
RUN npm ci --only=production
EXPOSE 3000
CMD ["npm", "start"]
Build & run:
docker build -t my-next14-app .
docker run -p 3000:3000 my-next14-app
11. Kesimpulan
Dengan mengikuti langkah‑langkah di atas, Anda memiliki proyek Next.js 14 modern yang memanfaatkan App Router, Turbopack, Edge Functions, dan pipeline CI/CD otomatis lewat Vercel. Terapkan best practice keamanan dan performa untuk memastikan aplikasi siap produksi.
Next.js 14 menawarkan kombinasi kecepatan (Turbopack), fleksibilitas (App Router), dan integrasi DevOps (Vercel, Docker) yang tak tertandingi pada tahun 2026. Menguasai setup ini memberi keunggulan kompetitif bagi developer JavaScript/TypeScript dalam membangun aplikasi web yang cepat, aman, dan mudah di‑scale.
Panduan step‑by‑step setup Next.js 14 dengan App Router, Turbopack, API Edge, testing, dan deployment ke Vercel. Tutorial lengkap untuk developer Web Development 2026.
Programming,Software Engineering,Web Development,Next.js 14,Turbopack,App Router,Vercel,Docker
#Programming #SoftwareEngineering #WebDev #Tech #Coding
0 Komentar