NodeJS

Aus Wikizone
Wechseln zu: Navigation, Suche

Links[Bearbeiten]

https://nodejs.org/en/
Webentwicklung mit NodeJS
https://www.febas.de/support-nodejs/ - nodejs webapps auf normalem webhosting (ungetestet)

Einleitung[Bearbeiten]

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[Bearbeiten]

Entweder über den Paketmanager brew oder über den obigen Link runterladen Installer installiert npm und node.js

HINWEIS: Wenn du ohnehin Homebrew nutzt, dann auch NodeJS über Homebrew installieren, sonst kann es später Probleme mit Homebrew geben, weil beide das Verzeichnis /usr/local/include/ nutzen.


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[Bearbeiten]

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[Bearbeiten]

Jade Template Engine[Bearbeiten]

Hinweis: Mittlerweile wurde Jade zur Pug 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[Bearbeiten]

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[Bearbeiten]

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

Gulp

Grunt[Bearbeiten]

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[Bearbeiten]

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'

NodeJS deinstallieren[Bearbeiten]

NodeJS manual uninstall[Bearbeiten]

Evtl. notwendig wenn man es späteer mit homebrew erledigen will.

Note that not all of the directories listed here may exist on your system depending on your install method.

    Delete node and/or node_modules from /usr/local/lib
    Delete node and/or node_modules from /usr/local/include
    Delete node, node-debug, and node-gyp from /usr/local/bin
    Delete .npmrc from your home directory (these are your npm settings, don't delete this if you plan on re-installing Node right away)
    Delete .npm from your home directory
    Delete .node-gyp from your home directory
    Delete .node_repl_history from your home directory
    Delete node* from /usr/local/share/man/man1/
    Delete npm* from /usr/local/share/man/man1/
    Delete node.d from /usr/local/lib/dtrace/
    Delete node from /opt/local/bin/
    Delete node from /opt/local/include/
    Delete node_modules from /opt/local/lib/
    Delete node from /usr/local/share/doc/
    Delete node.stp from /usr/local/share/systemtap/tapset/