Nodejs
Ist nicht die einziege Javascript-Laufzeitumgebung ausserhalb von Browsern. Weitere Alternativen sind:
-
Deno (https://deno.land)
-
Bun (https://bun.sh)
-
Asynchrone, ereignisbasierte Javascript-Laufzeitumgebung
-
Grundlage für skalierbare Netzwerk-Anwendungen
-
Basiert auf Googles V8 Engine
-
Open Source und plattformübergreifend
Beispiel
// ==== hello-world.js ====
const http = require('http');
const hostname = '127.0.0.1';
const port = '3000';
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plan');
res.end('Hello, World!\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
Verwendung
Startet das Script, zu dem der Pfad führt
$ node hello-world.js
Server running at http://127.0.0.1:3000/
# Abbruch mit CTRL-C
Startet eine interaktive REPL (Read Eval Print Loop) Shell gestartet werden
$ node
Welcome to Node.js vs.12.16.2
Type ".help" for more information.
Frameworks
- Node-js ist eine low-level Plattform
- Zahlreiche Frameworks und Tools bauen darauf auf
Beispiele
- Express: Webserver, Nachfolger: Koa
- Socket.io: Echtzeitkommunikation
- Next.js: serverseitiges React Rendering
- Webpack: JavaScript Bundler
- Babel, TypeScript
- uvm.
NPM
- Paketverwaltung für Node.js
- Repository mit > 1 Mio Paketen
- Werkzeuge zum Zugriff auf das Repository (npm, yarn)
- Seit 2020: Github / Microsoft