Express.js
Przegląd
Express.js to szybki, minimalistyczny framework webowy dla Node.js, niewymuszający konkretnych rozwiązań. Oferuje solidne funkcje do budowania aplikacji webowych i REST API z naciskiem na prostotę i elastyczność.
Pierwsze kroki
Utwórz repozytorium z szablonu
Na pulpicie przejdź do zakładki Tools & Deployment. Kliknij przycisk "New Repository", wybierz szablon Express z listy rozwijanej, wpisz nazwę repozytorium i subdomenę, a następnie kliknij "Create Repository".
Sklonuj repozytorium
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Zainstaluj zależności
npm install
Uruchom serwer deweloperski
npm run dev
Serwer domyślnie działa pod adresem http://localhost:3000.
Wypchnij swoje zmiany
git add .
git commit -m "Initial setup"
git push origin main
Lokalny rozwój z Dockerem
Jeśli nie masz lokalnie zainstalowanego Node.js, możesz użyć Dockera do uruchamiania komend Express.
Uruchamianie komend z Dockerem
# Uruchom npm install
docker run --rm -v $(pwd):/app -w /app node:lts npm install
# Uruchom serwer deweloperski
docker run --rm -v $(pwd):/app -w /app -p 3000:3000 node:lts npm run dev
Struktura projektu
├── src/
│ ├── controllers/ # Obsługa żądań
│ ├── middleware/ # Własne middleware
│ ├── models/ # Modele bazy danych
│ ├── routes/ # Definicje tras
│ └── server.js # Konfiguracja aplikacji Express
├── views/ # Pliki szablonów EJS
├── public/ # Pliki statyczne
├── prisma/ # Schemat Prisma
├── package.json # Zależności
└── Dockerfile # Konfiguracja Docker
Typowe zadania
Tworzenie trasy
const express = require('express');
const router = express.Router();
router.get('/users', (req, res) => {
res.json({ message: 'Get all users' });
});
module.exports = router;
Korzystanie z Prisma ORM
const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient();
const users = await prisma.user.findMany();
const user = await prisma.user.create({
data: { name: 'John', email: 'john@example.com' }
});
Przydatne komendy
npm run dev
Uruchom serwer dev z nodemon
npm start
Uruchom serwer produkcyjny
npx prisma migrate dev
Uruchom migracje Prisma
Rozwiązywanie problemów
Połączenie z bazą danych nie powiodło się
Rozwiązanie: Sprawdź DATABASE_URL w pliku .env. Format: mysql://user:password@host:port/database
Port 3000 jest już używany
Rozwiązanie: Zmień PORT w pliku .env lub zatrzymaj inny proces.