10 Empfehlenswerte npm Module (Must have)

16.4.2017

Blog Artikel Bild - 10 Empfehlenswerte npm Module (Must have)

Node.js erfreut sich immer größerer Beliebtheit. Eine wichtige Rolle hierbei spielt der Node-Package-Manager (NPM). Mit welchem sich eine ganze Reihe bereits vorgefertigter Module in die eigene Applikation einbinden lassen.
In diesem Beitrag gibt es die aus meiner Sicht 10 Empfehlens wertesten npm Module, welche ich selber, je nach Anforderung bereits in den verschiedensten Projekten eingesetzt habe. Für Node.js gibt es unzählige npm Module. Hierbei reicht die Palette von kleinen Hilfsfunktionen bis hin zu komplexen Frameworks.

Dieser Artikel beruht auf eigenen Erfahrungen und erhebt keinen Anspruch auf Vollständigkeit.

Die folgenden npm Module sind auf jeden Fall einen Blick Wert und für mich persönlich je nach Anforderung eigentlich aus keinem Projekt mehr wegzudenken.

Express - Node.js web application framework

Express ist für mich und meine Projekte derzeit DAS MVC Framework um Web Applikationen zu erstellen. Insbesondere seit der Version 4.x ist es leichtgewichtig und schnell für ein neues Projekt eingesetzt.
Absolut Empfehlenswert!
Zur Webseite

Pug aka. Jade - Template Engine für Express

Wer eine leichtgewichtige Template Sprache sucht. Der ist mit Pug, welches sich vor einiger Zeit noch Jade nannte, bestens beraten. Denn Pug reduziert die HTML-Syntax dank Einrückungen und anderen netten Features auf ein Minimum.
In Kombination mit Express gibt es derzeit für mich nichts vergleichbares!
Zur Webseite

PM2 - Advanced Node.js process manager

In Produktiv Umgebungen ist für mich das npm Modul PM2 nicht mehr wegzudenken. Es erlaubt u.a. das einfache reloaden eines Node.js Prozesses ohne Downtime, sowie ein elegantes Monitoring der einzelnen Prozesse. PM2 besitzt viele interessante Features die man, wenn man Node.js produktiv einsetzt, nicht entgehen lassen sollte.
PM2 wird unter anderem auch von PayPal eingesetzt.
Zur Webseite

Mocha - the fun, simple, flexible JavaScript test framework

Für die Test getriebene Entwicklung unter Node.js eignet sich das npm Mocha besonders, da es eine leicht lesbare und leicht erlernbare Syntax besitzt.
Zur Webseite

Cheerio

Falls man in einem Projekt einmal HTML/XML serverseitig mit JQuery Selektoren manipulieren möchte, der ist mit dem npm Modul Cheerio bestens beraten. Denn es erlaubt das serverseitige traversieren und manipulieren von HTML/XML.
Zur Webseite

Nodemailer

Für den Mailversand in Node.js Applikationen ist das npm Modul, wie der Name bereits verrät, bestens geeignet. Für dieses Modul gibt es eine Vielzahl von Konfigurations-Möglichkeiten, so das es sich in derzeit alle meine Projekte einfach integrieren lässt.
Zur Webseite

MongoDB Node.js Driver

Für die Abfrage von MongoDB Datenbanken, na wer hätte es auch anders gedacht, eignet sich dieses Modul besonders gut, da es eine native Schnittstelle für die Abfrage und Manipulation von MongoDB zur Verfügung stellt.
Zur Webseite

Sequelize - The Node.js ORM Mapper

Wer einen ORM Mapper für relationale Datenbanken benötigt, der kommt derzeit an diesem Modul nicht vorbei. Bei Sequelize handelt es sich um einen relativ einfachen ORM Mapper für relationale Datenbanken. Welcher jedoch bei genauerem hinsehen über sehr umfangreiche Features verfügt.
Besonders interessant ist hierbei die Möglichkeit der nachträglichen Datenbank Migration (verändern von Tabellen)
Zur Webseite

CoffeeScript

Bei CoffeeScript handelt es sich um eine Sprache, die zu JavaScript kompiliert.
Unter anderem durch die besonders einfache Syntax und durch das Weglassen von geschweiften Klammern, hat sich CoffeeScript in den letzten Jahren immer mehr zu meiner Lieblingssprache in Node.js Projekten durchgesetzt.
Zur Webseite

Cuid - Collision-resistant ids optimized for horizontal scaling and binary search lookup performance

Bei dem Modul cuid handelt es sich eher um ein kleineres Node.js Modul.
Das Modul erzeugt Kollisionsfreie IDs, welche ich z.b. dafür nutze, um den Upload von Dateien der unterschiedlichen Benutzer zu prefixen.
Cuid ist jedoch nicht nur für Node.js erhältlich, sondern u.a. auch für Ruby, .Net, Go, PHP und Elixir.
Zur Webseite