Libraries
Libraries
Section titled “Libraries”Warum?
Section titled “Warum?”- Code reuse
- Wir wollen das Rad nicht neu erfinden.
- Wenn ein Stück Software bereits vorhanden ist, wollen wir es wieder verwenden anstatt es jedes Mal neu zu schreiben.
- Aber …
Libraries
Section titled “Libraries”Software libraries sind eine Sammlung von (read-only) Ressourcen, die verwendet werden können um Software zu erstellen.
Ressourcen bedeutet jeglicher Code, inklusive Funktionen, Klassen, Datentypen, usw.
Package Manager
Section titled “Package Manager”Zur Verwaltung von Libraries in einem Softwareprojekt kommen in modernen Programmier-Plattformen Package Manager zum Einsatz.
Package Manager sind Programme, die dabei helfen Libraries zu verwalten. Das bedeutet zu regeln, welche Libraries verwendet werden und in welcher Version diese eingesetzt werden.
Bei der Entwicklung von JavaScript Programmen unter der Verwendung von Node.js, kommt hauptsächlich der Package Manager npm (Node Package Manager) zum Einsatz.
npm - Initialisierung
Section titled “npm - Initialisierung”Bei einer neuen JavaScript Anwendung, kann das Projekt mit npm durch folgenden Befehl initialisiert werden:
npm init
Es müssen ein paar Angaben zum (eigenen) Software-Projekt gemacht werden. Danach entsteht die Datei package.json
{ "name": "Meine Anwendung", "version": "1.0.0", "description": "Ein Projekt zum Üben", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }}
npm - Installation von Libraries
Section titled “npm - Installation von Libraries”Wurde das Projekt initialisiert, kann durch die Verwendung von folgendem Befehl eine Library zum Projekt hinzugefügt werden.
npm install <LibraryName>
npm Installation von Libraries (2)
Section titled “npm Installation von Libraries (2)”Daraufhin wird diese Library in der package.json
Datei eingetragen.
Neben dem Namen der Library (in diesem Fall validator) ist auch die Version zu sehen.
{ "name": "libraries", "version": "1.0.0", "description": "A small project to show the usage of 3rd party libraries", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "norwin", "license": "ISC", "dependencies": { "validator": "^13.12.0", }}
node_modules
Section titled “node_modules”Zusätzlich zur Eintragung von Libraries in der package.json
Datei wird auch ein node_modules
Ordner angelegt in den die Libraries heruntergeladen werden.
Bei der Ausführung des Programms müssen alle Abhängigkeiten in der richtigen Version im node_modules
Ordner vorhanden sein.
Der node_modules
Ordner kann gelöscht werden wenn die Applikation nicht ausgeführt wird, da in der package.json
Datei gespeichert ist, welche Libraries von der Software benötigt werden.
Durch npm install
(ohne eine Library anzugeben) werden alle Abhängigkeiten neu vom Internet geladen und in den node_modules
Ordner gespeichert.
npmjs.com
Section titled “npmjs.com”Alle über npm verfügbaren Libraries sind unter npmjs.com einsehbar.
Es ist auch möglich, selbst Libraries zu erstellen und über npmjs.com anderen Entwicklern zur Verfügung zu stellen.
Verwendung von Libraries
Section titled “Verwendung von Libraries”Will man eine Library verwenden, so muss diese im Code zuerst importiert werden.
In JavaScript gibt es dazu unterschiedliche Varianten. Wir sehen uns eine einfache Variante, die auch CommonJs genannt wird an.
Dabei verwendet man die Funktion require
um eine Library in eine Variable zu laden.
const validator = require("validator");validator.isEmail("foo@bar.com"); //=> true
Wie eine Library importiert und verwendet werden kann ist jeweils aus der Dokumentation der jeweiligen Library zu erkennen.
Dokumentation
Section titled “Dokumentation”Bei nahezu jeder Library auf npmjs.com ist auch eine Dokumentation zu finden, wie die Library verwendet werden kann.
Sehr oft ist auch ein Link auf github angegeben, wo sogar der Quelltext der jeweiligen Library angesehen werden kann.