Express.js
Översikt
Express.js är ett snabbt, åsiktslöst och minimalistiskt webbramverk för Node.js. Det erbjuder kraftfulla funktioner för att bygga webbapplikationer och REST-API:er med fokus på enkelhet och flexibilitet.
Kom igång
Skapa repository från mall
Gå till fliken Tools & Deployment i din dashboard. Klicka på knappen "New Repository", välj Express-mallen från rullgardinsmenyn, ange ett repository-namn och en subdomän och klicka sedan på "Create Repository".
Klona ditt repository
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Installera beroenden
npm install
Starta utvecklingsservern
npm run dev
Servern körs som standard på http://localhost:3000.
Pusha dina ändringar
git add .
git commit -m "Initial setup"
git push origin main
Lokal utveckling med Docker
Om du inte har Node.js installerat lokalt kan du använda Docker för att köra Express-kommandon.
Köra kommandon med Docker
# Run npm install
docker run --rm -v $(pwd):/app -w /app node:lts npm install
# Run development server
docker run --rm -v $(pwd):/app -w /app -p 3000:3000 node:lts npm run dev
Projektstruktur
├── src/
│ ├── controllers/ # Request-hanterare
│ ├── middleware/ # Anpassad middleware
│ ├── models/ # Databasmodeller
│ ├── routes/ # Ruttdefinitioner
│ └── server.js # Express-app-konfiguration
├── views/ # EJS-mallfiler
├── public/ # Statiska filer
├── prisma/ # Prisma-schema
├── package.json # Beroenden
└── Dockerfile # Docker-konfiguration
Vanliga uppgifter
Skapa en rutt
const express = require('express');
const router = express.Router();
router.get('/users', (req, res) => {
res.json({ message: 'Get all users' });
});
module.exports = router;
Använda 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' }
});
Användbara kommandon
npm run dev
Starta utvecklingsserver med nodemon
npm start
Starta produktionsserver
npx prisma migrate dev
Kör Prisma-migreringar
Felsökning
Database connection failed
Lösning: Kontrollera DATABASE_URL i .env-filen. Format: mysql://user:password@host:port/database
Port 3000 already in use
Lösning: Ändra PORT i .env-filen eller stoppa den andra processen.