Skip to content
On this page
NodeJS
1

NodeJS nund Express

JavaScript ohne Webbrowser

08.11.2022
NodeJS
2

NodeJS

  • JS auf der Console
  • ... mit Package Management
    • npm, yarn
  • Alternative zu python
  • Weit verbreiteter HTTP Server expressjs
08.11.2022
NodeJS
3

Projektstruktur

08.11.2022
NodeJS
4

Beispiel package.json

json
{
  "name": "03-files",
  "version": "1.0.0",
  "scripts": {
    "start": "node src/index.js"
  },
  "main": "index.js",
  "type": "module",
  "license": "MIT"
}
08.11.2022
NodeJS
5

Node Modules Folder

  • Folder node_modules
  • Libraries werden nach yarn oder npm install hier abgelegt
  • Binaries, die eingebunden werden
  • immber bei git Projekten mit .gitignore ignorieren
    • ... da die dependencies immer mit yarn von Hand nachinstalliert werden können.
08.11.2022
NodeJS

File schreiben

6
js
import fs from 'fs';

const commands = [
  {
    name: 'ls',
    desc: 'lists Files'
  },
  {
    name: 'rm',
    desc: 'deletes Files'
  },
  {
    name: 'cd',
    desc: 'changes dir'
  }
];
fs.writeFileSync('./commands.json', JSON.stringify(commands));
  • starten mit yarn start
08.11.2022
NodeJS

Architektur von Webapplikationen

7
08.11.2022
NodeJS
8

Web Server Frameworks

  • Java
    • Spring
    • Quarkus
  • JS
    • expressjs
  • Python
    • Django
    • flask
  • Rust, .Net, Ruby, PHP, perl, ...
08.11.2022
NodeJS

NodeJS Webserver mit express

9
js
import express from 'express';

const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send({
    name: 'ls',
    desc: 'lists files in cwd'
  });
});

app.listen(port, () => {
  console.log(`Linux Commands available on ${port}`);
});
08.11.2022
NodeJS
10

NodeJS Projekt

08.11.2022
NodeJS
11

GET Requests mit Request Parmas

http://localhost:3000/echo?command=ls.

js
app.get('/echo', (req, res) => {
  const command = req.query.command ?? '';
  res.send({
    command
  });
});
08.11.2022
NodeJS
12

POST Data

js
app.use(express.json());
const commands = [];

app.post('/command', (req, res) => {
  const { body } = req;
  commands.push(body);
  res.send({
    status: 'ok'
  });
});
08.11.2022
NodeJS
13

Client POST

08.11.2022