Tartalomjegyzék

< Node.js

Express

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:

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:

index.js
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:

index.js
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:

action.pug
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

Linkek