Tutorial lengkap untuk memulai proyek React, dari download template hingga siap diproduksi.
# Cek versi Node.js
node --version
# Cek versi npm
npm --version
# Buat project baru
npx create-react-app my-react-app
# Masuk ke folder project
cd my-react-app
# Jalankan development server
npm start
Keuntungan:
Kekurangan:
# Buat project dengan Vite
npm create vite@latest my-react-app -- --template react
# Masuk ke folder
cd my-react-app
# Install dependencies
npm install
# Jalankan development server
npm run dev
Keuntungan:
1. Envato Elements / ThemeForest
.zip2. Creative Tim
3. UI Kit Libraries
# Extract file template yang didownload
unzip template-react.zip
# Masuk ke folder project
cd template-react
# Lihat struktur folder
ls -la
# Install semua package yang dibutuhkan
npm install
# Atau gunakan yarn
yarn install
Jika ada error:
# Clear npm cache
npm cache clean --force
# Install ulang
npm install
# Atau coba dengan npm ci (recommended untuk production)
npm ci
# Buat file .env (jika belum ada)
cp .env.example .env
# Edit file .env
nano .env
# atau buka dengan text editor favorit
Contoh .env file:
REACT_APP_API_URL=http://localhost:3000
REACT_APP_API_KEY=your_api_key_here
REACT_APP_ENVIRONMENT=development
Catatan: Di React, environment variable harus dimulai dengan REACT_APP_
src/
├── components/ # Reusable components
│ ├── Header.jsx
│ ├── Footer.jsx
│ └── Sidebar.jsx
├── pages/ # Page components
│ ├── Home.jsx
│ ├── About.jsx
│ └── Contact.jsx
├── styles/ # CSS/SCSS files
│ └── main.css
├── utils/ # Helper functions
│ ├── api.js
│ └── formatters.js
├── App.jsx # Main component
├── index.jsx # Entry point
└── index.css # Global styles
public/
├── index.html
├── favicon.ico
└── assets/
.env # Environment variables
package.json # Dependencies
npm start
Aplikasi akan terbuka di http://localhost:3000
npm run build
Ini akan membuat folder build/ dengan file-file ter-optimize untuk production.
# React Router (untuk navigation)
npm install react-router-dom
# Axios (untuk API calls)
npm install axios
# Tailwind CSS (untuk styling)
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
# State Management (Redux)
npm install @reduxjs/toolkit react-redux
src/App.jsx:
import { BrowserRouter, Routes, Route } from 'react-router-dom'
import Home from './pages/Home'
import About from './pages/About'
function App() {
return (
<BrowserRouter>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
</Routes>
</BrowserRouter>
)
}
export default App
src/utils/api.js:
import axios from 'axios'
const API = axios.create({
baseURL: process.env.REACT_APP_API_URL,
})
// Add token to headers jika ada
API.interceptors.request.use((config) => {
const token = localStorage.getItem('token')
if (token) {
config.headers.Authorization = `Bearer ${token}`
}
return config
})
export default API
# Install Vercel CLI
npm install -g vercel
# Deploy
vercel
# Build production
npm run build
# Drag & drop folder 'build' ke Netlify
# Atau gunakan Netlify CLI
npm install -g netlify-cli
netlify deploy --prod --dir=build
# Install gh-pages
npm install --save-dev gh-pages
# Add ke package.json:
# "homepage": "https://username.github.io/repo-name"
# "predeploy": "npm run build"
# "deploy": "gh-pages -d build"
npm run deploy
# Clear node_modules dan install ulang
rm -rf node_modules
npm install
# Ganti port
PORT=3001 npm start
# React hanya membaca REACT_APP_ prefix
# Restart dev server setelah update .env
npm start
# Analisis bundle
npm install --save-dev source-map-explorer
# Analyze
npm run build
npx source-map-explorer 'build/static/js/*.js'
✅ DO:
❌ DON'T:
.env file ke gitButuh bantuan? Lihat dokumentasi resmi di react.dev