[[:oktatas:web:express|< Express]]
====== Express - TypeScript kontrollerrel ======
* **Szerző:** Sallai András
* Copyright (c) 2024, Sallai András
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: https://szit.hu
===== Dolgozók =====
==== Előkészítés ====
{
"name": "app01",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev":"ts-node-dev --respawn src/index.ts",
"start": "node app",
"build": "tsc"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"dependencies": {
"express": "^4.21.2"
},
"devDependencies": {
"@types/express": "^5.0.0",
"@types/node": "^22.10.2",
"ts-node-dev": "^2.0.0",
"typescript": "^5.7.2"
}
}
==== TypeScript fájlok ====
import express from 'express';
import router from './routes/api';
const app = express();
const PORT = 8000;
app.use(express.json());
app.use('/api', router);
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
})
Importálnunk kell a kontrollert, amit az útvonalaknál használunk fel.
import { Router } from 'express';
import EmpController from '../controllers/empController';
const router = Router();
router.get('/employees', EmpController.index);
router.post('/employees', EmpController.store);
export default router;
Ebben a példában kontrollert objektumként fogjuk létrehozni.
import { Request, Response } from "express"
const EmpController = {
index: (req : Request, res : Response) => {
res.json({
employees : []
})
},
store: (req : Request, res : Response) => {
res.json({
name: req.body.name
})
}
}
export default EmpController