Pelajari cara menginstal, mengonfigurasi, dan mengoptimalkan proyek Next.js 14 terbaru menggunakan App Router, Tailwind CSS, serta deployment otomatis ke Vercel. Tutorial step‑by‑step ini cocok untuk developer JavaScript/TypeScript yang ingin memanfaatkan fitur server‑components, streaming, dan edge runtime yang menjadi standar pada Mei 2026.
1. Prasyarat
- Node.js >=20.10 LTS (download di nodejs.org)
- npm atau Yarn (npm sudah terbundel dengan Node)
- Akun Vercel (free tier cukup untuk test)
- Git terinstall di mesin lokal
2. Membuat Project Next.js 14 Baru
- Buka terminal dan jalankan perintah berikut:
npx create-next-app@latest my-next14-app --typescript
Parameter--typescriptakan menyiapkan konfigurasi TypeScript secara otomatis. - Masuk ke folder proyek:
cd my-next14-app
- Jalankan development server untuk memastikan semuanya berfungsi:
npm run dev
Bukahttp://localhost:3000di browser. Anda akan melihat halaman default Next.js.
3. Mengaktifkan App Router (Next.js 14)
Next.js 14 memperkenalkan App Router yang menggantikan pages/ dengan struktur app/. Ikuti langkah berikut untuk migrasi:
- Hapus folder
pagesyang tidak lagi dibutuhkan: - Buat folder
appdi root proyek: - Tambahkan file layout dasar
app/layout.tsx:import './globals.css' import type { ReactNode } from 'react' export const metadata = { title: 'Next.js 14 dengan App Router', description: 'Demo proyek modern', } export default function RootLayout({ children }: { children: ReactNode }) { return ( {children} ) } - Tambahkan halaman utama di
app/page.tsx:export default function Home() { return ( ) }Selamat datang di Next.js 14!
rm -rf pages
mkdir app
4. Integrasi Tailwind CSS (v3.4)
- Instalasi dependensi Tailwind, PostCSS, dan autoprefixer:
npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
- Inisialisasi konfigurasi Tailwind:
npx tailwindcss init -p
Filetailwind.config.cjsdanpostcss.config.cjsakan dibuat. - Edit
tailwind.config.cjsagar mendeteksi semua file di folderapp:module.exports = { content: ['./app/**/*.{js,ts,jsx,tsx}', './components/**/*.{js,ts,jsx,tsx}'], theme: { extend: {}, }, plugins: [], } - Ganti isi
app/globals.cssdengan direktif Tailwind:@tailwind base; @tailwind components; @tailwind utilities; - Verifikasi dengan menambahkan kelas Tailwind pada halaman utama (
app/page.tsx):export default function Home() { return ( ) }Selamat datang di Next.js 14!
Terintegrasi dengan Tailwind CSS 3.4
5. Menambahkan Server Component & Streaming
Next.js 14 memperkenalkan Server Components yang memungkinkan rendering data di server tanpa mengirim bundle JavaScript ke klien.
- Buat folder
componentsdi root, lalu filecomponents/LatestPosts.server.tsx:import type { ReactElement } from 'react' export default async function LatestPosts(): Promise{ const res = await fetch('https://jsonplaceholder.typicode.com/posts?_limit=5', { cache: 'no-store' }) const posts = await res.json() return ( ) }Posting Terbaru
-
{posts.map((p: any) => (
-
{p.title}
{p.body}
))}
Catatan: Penambahan
.server.tsxsecara otomatis menandakan bahwa komponen ini hanya dijalankan di server. -
- Import komponen di
app/page.tsxdan gunakan:import LatestPosts from '@/components/LatestPosts.server' export default function Home() { return ( ) }Selamat datang di Next.js 14!
Terintegrasi dengan Tailwind CSS 3.4
- Jalankan kembali
npm run dev. Karena komponen server di‑fetch pada server, halaman akan menampilkan data posting secara streaming tanpa tambahan JS di browser.
6. Konfigurasi Edge Runtime (optional)
Jika Anda ingin memanfaatkan edge network Vercel, tambahkan file next.config.mjs:
import { createRequire } from 'module'
const require = createRequire(import.meta.url)
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
appDir: true,
runtime: 'edge', // aktifkan edge runtime untuk semua route
},
images: {
remotePatterns: [{ protocol: 'https', hostname: '**' }],
},
}
export default nextConfig
Edge runtime mempercepat respons karena dijalankan pada lokasi terdekat dengan pengguna akhir.
7. Menyiapkan CI/CD dengan GitHub Actions
- Push kode ke repository GitHub.
- Buat file
.github/workflows/deploy.yml:name: Deploy to Vercel on: push: branches: [main] jobs: build-and-deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version: '20.x' - run: npm ci - run: npm run build - name: Deploy to Vercel uses: amondnet/vercel-action@v20 with: vercel-token: ${{ secrets.VERCEL_TOKEN }} vercel-args: '--prod' working-directory: . env: VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}Pastikan token API Vercel serta ID organisasi dan proyek disimpan sebagai secret di repo.
8. Deploy ke Vercel (Production)
- Masuk ke dashboard Vercel dan klik New Project.
- Import repository GitHub yang sudah berisi kode.
- Vercel otomatis mendeteksi
next.config.mjsdan menggunakannpm run buildsebagai build command. - Setelah proses selesai, Anda mendapatkan URL
https://your-project.vercel.app. Semua edge functions dan server components sudah live.
9. Best Practice untuk Produksi
- Static Generation (SSG) bila memungkinkan – gunakan
export const revalidate = 60pada halaman yang dapat di‑cache untuk meningkatkan ISR. - Gunakan Image Optimization – ganti tag
imgdengannext/imageuntuk otomatis WebP, lazy‑load, dan CDN. - Hindari fetch di client side bila data tidak membutuhkan interaktivitas – manfaatkan Server Components atau
getServerSideProps. - Audit bundle dengan
next builddannext telemetryuntuk memastikan ukuran JS tidak berlebih. - Security – aktifkan CSP via
Headersdinext.config.mjsdan gunakanhelmetpada API routes.
10. Troubleshooting Umum
| Masalah | Penyebab | Solusi |
|---|---|---|
| "Error: Cannot find module '@tailwindcss/forms'" | Plugin Tailwind belum di‑install | Jalankan npm install -D @tailwindcss/forms dan tambahkan ke plugins di tailwind.config.cjs |
| "Server Components cannot be imported in client components" | Import komponen .server di file .tsx client | Pisahkan file menjadi .client.tsx atau gunakan dynamic import dengan {ssr:false} |
| "Vercel deployment fails: Command "npm run build" exited with code 1" | Missing environment variable | Tambahkan variabel yang diperlukan pada Vercel > Settings > Environment Variables |
Dengan mengikuti tutorial ini Anda kini memiliki aplikasi Next.js 14 yang modern, memanfaatkan App Router, Server Components, Tailwind CSS, serta CI/CD otomatis ke Vercel. Kombinasi ini memberikan performa tinggi, ukuran bundle minimal, dan pengalaman developer yang produktif—semua dalam ekosistem JavaScript/TypeScript yang terus berkembang pada 2026. Terapkan best practice keamanan dan caching untuk mengoptimalkan aplikasi Anda di produksi.
Tutorial step-by-step setup Next.js 14 dengan App Router, Tailwind CSS, server components, dan deployment otomatis ke Vercel. Panduan lengkap 2026 untuk developer JavaScript/TypeScript.
Programming,Software Engineering,Web Development
#Programming #SoftwareEngineering #WebDev #Tech #Coding
0 Komentar