[[oktatas:web:nodejs|< Node.js]]
====== Express ======
* **Szerző:** Sallai András
* Copyright (c) 2021, Sallai András
* Szerkesztve: 2021-2024
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: https://szit.hu
===== Az express =====
Az Express egy minimális és könnyen kezelhető Node.js
webalkalmazás keretrendszer, ami robusztus funkciókat
kínál webes és mobilalkalmazások számára.
Webhely:
* http://expressjs.com/
===== Express projekt =====
mkdir app01
cd app01
npm init -y
Telepítsük az express csomagot:
npm install express
Lehetséges kimenet:
npm install express
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN projekt01@1.0.0 No repository field.
+ express@4.16.4
added 48 packages from 36 contributors and audited 121 packages in 3.732s
found 0 vulnerabilities
Írjuk meg a programunkat:
const express = require('express')
const app = express();
app.get('/', (req, res) => {
res.send('Helló Világ!')
});
app.listen(8000, () => {
console.log('Példa alkalmazás port 8000')
});
$ node index.js
Példa alkalmazás port 8000
Böngészőbe írjuk be:
http://192.168.5.100:8000/
===== Generátor használata =====
npx express-generator --view=pug projekt01
A 8.2.0 előtt Node.js esetén csak így:
npm install -g express-generator
express --view=pug projekt01
A következő könyvtárszerkezet jön létre:
projekt01/
|-bin/
| `-www
|-public/
| |-images/
| |-javascripts/
| `-stylesheets/
| `-style.css
|-routes/
| |-index.js
| `-users.js
|-views/
| |-error.jade
| |-index.jade
| `-layout.jade
|-app.js
`-package.json
Lépjünk be a projekt könyvtárába, majd telepítsük a függőségeket:
cd projekt01
npm install
A node_modules mappába, települnek a függőségek.
===== Indítás =====
MacOS és Linuxon:
DEBUG=projekt01:* npm start
Windowson:
set DEBUG=projekt01:* & npm start
Windows PowerShellben:
$env:DEBUG='projekt01:*'; npm start
Az utolsó sorban ehhez hasonlót kell lássunk:
projekt01:server Listening on port 3000 +0ms
A kezdetleges programot a 3000 porton tekinthetjük meg. Böngészőbe:
localhost:3000
===== Routing =====
Szeretnénk egy action weblapot.
Készítsünk egy bejegyzést az routers/index.js fájlba:
router.get('/action', function(req, res, next) {
res.send('Itt lesznek a tevékenységek');
});
Az index.js teljes kódja:
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Webes' });
});
/* action page */
router.get('/action', function(req, res, next) {
res.send('Itt lesznek a tevékenységek');
});
module.exports = router;
===== Nézet =====
Készítsünk egy weblapot a views könyvtárban PUG nyelven:
extends layout
block content
h1 Tevékenységeink
p Vállaljuk weblapok elkészítését
p Keressen minket
Most javítsuk a routingot:
router.get('/action', function(req, res, next) {
res.render('action', { title: 'Webes' });
});
===== Lásd még =====
* [[oktatas:web:back-end_framework:express|Back-end framwork Express]]
* https://github.com/oktat/exchat.git
===== Linkek =====
* http://expressjs.com/en/starter/generator.html (2021)
* https://express-validator.github.io/ (2024)