NodeJS
Links
https://nodejs.org/en/ Webentwicklung mit NodeJS
Einleitung
NodeJS oder node.js bietet Serverseitiges JavaScript für performante WebApps. Es basiert auf Googles V8 JavaScript Engine. Damit kommt man vom http Protokoll weg und kann z.B. kleine Server für Multiuserspiele oder Apps für gemeinsamen Zugriff auf Dokumenter bauen. Allerdings unterstützen nicht alle Hoster NodeJS.
Es gibt viele Tools, vor allem bei der Entwicklung von HybridApps und Webapps, die das nutzen können.
Auf dem Mac liegt Node normalerweise in:
/usr/local/bin/node
Installation
Entweder über den Paketmanager brew oder über den obigen Link runterladen Installer installiert npm und node.js
Mit brew:
brew install node
This package will install: • Node.js v8.11.3 to /usr/local/bin/node • npm v5.6.0 to /usr/local/bin/npm
Node Packet Manager
Node enthält den npm = Node Paket Manager, er dient als command line tool für viele JavaScript basierte Tools, z.b. Cordova,
npm was installed at /usr/local/bin/npm Make sure that /usr/local/bin is in your $PATH.
Tools die mit Node laufen
Jade Template Engine
Jade ist eine auf node basierte HTML Template Engine, mit der man vereinfachtes html schreiben kann, das dann on the fly in html übersetzt wird. Damit kann man sehr schnell Code entwickeln.
https://t3n.de/news/jade-638027/ Jade Template Engine
npm install jade --global
Bower
Im Zusammenhang mit NodeJS steht Bower. Es ist eine unter node.js laufende Paketverwaltung, spezialisiert auf Webentwicklung. Damit lassen sich diverse Tools wie Angular.js oder Frameworks schnell laden oder daraus ein Grundprojekt erstellen.
Gulp
- http://gulpjs.com/
- http://magazin.phlow.de/webdesign/gulp/
- https://www.liechtenecker.at/front-end-workflow-mit-gulp/
Ein weiteres Tool das unter Node.js läuft ist Gulp. Gulp ist ein Taskrunner (wie auch Grunt) und dient vor allem zu folgendem.
- Bilder – Verlustlose Kompression aller Bilder und Vektoren mit gulp-imagemin
- HTML – Minifizierung von mit gulp-minify-html
Javascript
- Überprüfung mit gulp-jshint
- Zusammenfassen Javascripte mit gulp-concat
- Minifizierung Javascripts mit gulp-uglify
CSS
- Konvertierung der Sass-Datei in eine CSS-Datei mit gulp-sass
- Autoprefixer, um alle Vendor Prefixes zu überprüfen mit gulp-autoprefixer
- Minifizierung der CSS-Datei mit gulp-minify-css
- Kopieren aller Dateien in einen Ordner für den Upload
- Überwachung von Dateien auf mögliche Änderungen
Grunt
Mit Grunt automatisiert man sich wiederholende Aufgaben bei der Webentwicklung. Grunt ist ein JavaScript-basierter Taskrunner und hilft unter anderem bei der Code-Minifizierung, Code-Kontrolle, Kompilierung, Unit Testing und so weiter.
Es ist damit ähnlich angesiedelt wie Gulp. Allerdings scheint der Einstieg mit Gulp einfacher zu sein und das Konzept schlüssiger.
Hello World App
How do I start with Node.js after I installed it?
Once you have installed Node, let's try building our first web server. Create a file named "app.js", and paste the following code:
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/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
After that, run your web server using node app.js, visit
http://localhost:3000
, and you will see a message 'Hello World'