Nützliche Node.js-Pakete für JavaScript-Entwickler
Verbringen Sie viel Zeit mit der Erstellung von JavaScript-Code? Im Folgenden stellen wir Ihnen verschiedene Node.js-Pakete vor, die das Arbeitsleben von JavaScript-Entwicklern produktiver und einfacher gestalten können.
JavaScript ist eine synchrone, single-threaded Programmiersprache, die weitverbreitet in der Software- und Anwendungsentwicklung eingesetzt wird. Viele Frameworks wie Reactjs, Angularjs, Vuejs, Expressjs und Node.js basieren auf JavaScript.
Viele Entwickler stoßen bei der Programmierung in JavaScript auf Schwierigkeiten, da komplexe Konzepte wie Promises, Eventloop, Callbacks, Hoisting und Closures eine Herausforderung darstellen.
Um die Entwicklung in JavaScript zu vereinfachen, stehen zahlreiche Node.js-Pakete zur Verfügung, die bei der Fehlerbehandlung, Codeformatierung, dem Löschen von Dateien, dem Debuggen von Code und der Gewährleistung der Sicherheit helfen. Einige bieten auch interaktive Befehlszeilen-Schnittstellen für eine verbesserte visuelle Darstellung der CPU-Leistung, Verarbeitungskapazität und der Schwere von Fehlern.
Retire.js
Retire.js ist eine JavaScript-Bibliothek, die eine Liste von Schwachstellen in Bezug auf verschiedene Versionen von JavaScript-Bibliotheken bereitstellt.
Es kann als Chrome-Erweiterung, Firefox-Erweiterung, Befehlszeilenscanner, Grunt-Plugin und mehr verwendet werden. Die Installation erfolgt mit folgendem Befehl:
$ npm install -g retire
Retire.js verfügt über diverse Befehle zum Scannen von JavaScript- und Node-Dateien. Es scannt JavaScript-Websites und protokolliert Warnungen in der Entwicklerkonsole. Bei gefundenen Schwachstellen generiert Retire.js den Exit-Code 13. Die Gulp-Aufgabe scannt Dateien automatisch und meldet die Schwachstellen.
Np
Np ist ein JavaScript-Paket, das verschiedene Funktionen wie Code-Bereinigung, Abhängigkeitsinstallation, Paketveröffentlichung und Tagging bietet. Es stellt sicher, dass der Code an den Master-Branch übertragen wird, und bietet eine interaktive Benutzeroberfläche.
Für neue Repositories wird die Zwei-Faktor-Authentifizierung zur Sicherheit eingesetzt. Durch die Neuinstallation von Abhängigkeiten wird sichergestellt, dass an der neuesten Version gearbeitet wird. Die neueste Version wird auf npm hochgeladen. Die Installation erfolgt mit diesem Befehl:
$ npm install --global np
Zu den verschiedenen Funktionen gehören das Veröffentlichen von Code aus jedem beliebigen Branch, das Erstellen von Unterverzeichnissen zum Veröffentlichen, das Überspringen der Code-Bereinigung und Tests. Die Konfiguration von np kann global und lokal über CLI-Flags in den Konfigurationsdateien von np erfolgen, wie np-config.js und np-config.json.
ESLint
ESLint ist ein JavaScript-Pakettool, das JavaScript-Code analysiert und Muster in ECMA/JavaScript-Code identifiziert. Es bewertet Muster im Code mit AST. Alle Regeln des Tools sind in Form von Plugins definiert und können zur Laufzeit dynamisch hinzugefügt werden. ESLint installieren Sie mit folgendem Befehl:
$ npm init @eslint/config
Nach der Installation mit dem oben genannten Befehl wird eine .eslintrc-Datei mit einer Reihe von Regeln generiert, die Fehlerdefinitionen und ihre jeweiligen Bedingungen enthält. ESLint ermöglicht es, alle Abhängigkeiten in der .lock-Datei des Benutzers zu definieren und verwendet keine eigene .lock-Datei. Es gilt als sehr sicher.
Shelljs
Shelljs ist eine Umgebung, in der UNIX-Befehle auf jedem Betriebssystem über die Node.js-API ausgeführt werden können. Shelljs ist portabel und unterstützt auch Plugins von Drittanbietern. Zu den verschiedenen Befehlen, die verwendet werden können, gehören echo, exec, chmod, pushd, popd, cd, cat usw. Der folgende Befehl installiert Shelljs:
$ npm install [-g] shelljs
Es wurde in diversen Projekten wie Firefox, JSHint, ESLint und Zepto getestet. Der lokale Import von Shelljs-Paketen ist globalen Importen vorzuziehen. Es kann auch als still, fatal, ausführlich usw. konfiguriert werden.
Omelette
Omelette bietet eine Vorlage für die automatische Codevervollständigung für Node- und Deno-Projekte. Es verwendet eine einfache API und unterstützt auch die Async-API und die Tree-API. Ein Beispiel-Code-Snippet für die Implementierung von Omelette ist nachstehend abgebildet:
import * as omelette from 'omelette'; const firstArgument = ({ reply }) => { reply([ 'beautiful', 'cruel', 'far' ]) } const planet = ({ reply }) => { reply([ 'world', 'mars', 'pluto' ]) } omelette`hello|hi ${firstArgument} ${planet}`.init()
Nach dem Import von Omelette muss ein Omelette-Objekt erstellt werden. Anschließend können verschiedene Funktionen für die automatische Codevervollständigung aufgerufen werden, wie z.B. setupShellInitFile() zum Einrichten und cleanupShellInitFile() zum Bereinigen. Es unterstützt auch die Verwendung von Lambda-Funktionen zum Erstellen komplexer Template-Literal-APIs.
Prettier
Prettier dient zur Codeformatierung. Es hilft bei der Angabe von Tabstopps, verfolgt den maximalen Inhalt in einer Zeile und sorgt für die richtige Einrückung in bedingten Anweisungen und Schleifen. Es wandelt Code in ein sauberes und lesbares Format um. Zum Beispiel:
Das folgende Code-Snippet
foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne());
wird durch die Prettier-Erweiterung in Folgendes umgewandelt:
foo( reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne() );
Es kann in CI-Umgebungen, integrierten Entwicklungsumgebungen (IDEs) usw. ausgeführt werden.
jscpd
jscpd ist ein technischer Schuldenverwaltungsdienst. Es ist ein JavaScript-Paket, das hilft, doppelte Code-Schnipsel in verschiedenen Codes und digitalen Dokumenten zu finden. Es verwendet einen String-Matching-Algorithmus namens Rabin-Karp, um Code-Duplikate zu finden.
jscpd/core kann Code-Duplikate in verschiedenen Umgebungen erkennen, und jspd/tokenizer wird zum Tokenisieren des Programmquellcodes verwendet. Hinzu kommen viele andere Pakete wie html-reporter, badge-reporter, leveldb-store usw. Der Befehl zur Installation von jscpd lautet:
$ npm install -g jscpd
jscpd wird von GitHub Super Linter, Code-Inspector, Mega-Linter, Codacy usw. verwendet. Jeder von ihnen verwendet jscpd für einen anderen Zweck. Sie verwenden es für die Verarbeitung natürlicher Sprache, Zeilenaggregatoren, Codeanalyse usw.
Vtop
Vtop ist ein Monitor, der eine grafische Darstellung der Befehlszeilenaktivität liefert. Es gibt Informationen über die CPU-Auslastung, indem es die verschiedenen laufenden Threads und Prozesse analysiert und sie grafisch durch Diagramme, Spitzen usw. darstellt. Es wurde mit JavaScript, Makefile und Shell entwickelt. Die Installation von Vtop erfolgt mit folgendem Befehl:
$ npm install -g vtop
Verschiedene Themen und Farbcodes können verwendet werden, um die GUI gemäß den Anforderungen attraktiver zu gestalten. Verschiedene Tastaturkürzel wie „u“ für ein Update, „g“, um zum obersten Prozess der Liste zu gelangen, „G“, um zum Ende der Liste zu gelangen, „dd“, um Prozesse zu beenden, die zu einer bestimmten Gruppe gehören, usw. können verwendet werden.
Standardjs
Standardjs ist eine JavaScript-Bibliothek, die die Dateikonfiguration automatisiert, Code formatiert und schnell Probleme mit der Ausnahmebehandlung von Programmierern findet. Der Befehl zur Installation von Standardjs ist unten angegeben:
$ npm install standard --global
Nach der Installation können Sie es mit dem „standard“-Befehl in der Befehlszeilenschnittstelle über eine Datei/einen Codeausschnitt ausführen. Alle Abhängigkeiten von Standardjs können hinzugefügt werden, indem „standard“: „*“ im Abhängigkeitsobjekt der Datei „package.json“ definiert wird.
Es kann auch als Plugin für verschiedene Texteditoren wie Visual Studio Code, Sublime Text, Atom, Vim, Brackets usw. installiert werden. Node.js, Expressjs, npm, Brave und GoDaddy verwenden Standardjs, um ihre Geschäftsanforderungen zu erfüllen.
NodeJsScan
NodeJsScan ist ein statischer Sicherheitscode-Scanner für Node.js-Anwendungen. Es informiert über den Sicherheitsstatus einer Anwendung über eine interaktive Benutzeroberfläche. Es kann in verschiedene Anwendungen wie Slack für Warnungen/Benachrichtigungen, E-Mail-Benachrichtigungen integriert werden, indem SMTP-Einstellungen in der Datei settings.py von NodeJsScan, CI/CD-Pipeline usw. konfiguriert werden. Es hilft auch beim Erstellen von Docker-Images.
Es protokolliert Fehler, Informationen und Warnmeldungen. Eine detaillierte Beschreibung des Fehlers, z.B. der Grund für sein Auftreten, sein Schweregrad, die Zeilennummern, in denen der Fehler aufgetreten ist, die Anzahl der gescannten Dateien und gefundenen Probleme usw. Grafiken und Diagramme werden zur besseren Lesbarkeit und Analyse gezeichnet.
Trash
Trash ist eine JavaScript-Bibliothek, die die gelöschten Dateien in den Papierkorb verschiebt, anstatt sie dauerhaft zu löschen. Es unterstützt Mac, Linux und Windows. Der Befehl zur Installation von Trash lautet:
$ npm install trash
Trash ist eine API, die Eingaben und Optionen als Funktionsparameter verwendet, wenn die Funktion trash() aufgerufen wird. Die Eingabe kann ein String oder ein String-Array sein. Optionen könnten ein Objekt sein. Die Papierkorbfunktion gibt ein Promise zurück. In verschiedenen Betriebssystemen werden unterschiedliche Befehle verwendet. macOS-trash wird in MacOS verwendet, XDG Spec in Linux und recycle-bin in Windows.
Xo
Xo ist ein JavaScript- und TypeScript-Wrapper, der ESLint verwendet. Es hilft, lesbaren Code zu erstellen, indem es Code einrückt, Semikolons, einfache Anführungszeichen und Kommas hinzufügt, wo immer dies erforderlich ist. Viele ESLint-Plugins wie unicorn, import, ava und n können mit Xo verwendet werden. Der Installationsbefehl für xo lautet:
$ npm install xo --save-dev
Probleme können mit dem Befehl `$xo –fix` automatisch behoben werden. Xo kann über die xo-Eigenschaft in der Datei package.json konfiguriert werden. Es kann als Plugin für verschiedene Editoren wie Vim, Visual Studio Code, Atom, Sublime Text und Emacs installiert werden.
diff2html
diff2html steht für „Diff-Parser und schöner HTML-Generator“. Es hebt die Änderungen im Code der aktuellen Version im Vergleich zur vorherigen Version hervor. Es hilft Entwicklern, leicht zu erkennen und zu verstehen, welche Änderungen vorgenommen wurden. Dies geschieht mithilfe von Farbcodes.
Dazu werden zeilenweise und nebeneinanderliegende Änderungen hervorgehoben. Es hebt die Änderungen der Codesyntax hervor und gruppiert ähnliche Zeilen, um Codeänderungen leicht zu verfolgen. Der Befehl zur Installation von diff2html lautet wie folgt:
$ npm install diff2html
Es ist auch in die Befehlszeile integriert. Einige Projekte, die diff2html verwenden, sind Jenkins, Codacy, Ungit, Git-Explorer und Code-Annotation usw.
Chalk
Chalk ist ein Node.js-Modul, das beim Formatieren und Gestalten von Code hilft. Es hilft auch beim Erstellen und Hinzufügen von Farbthemen zu Text. Es hat eine ausdrucksstarke API und eine ausgezeichnete Leistung. Es verschachtelt Stile und hat keine Abhängigkeiten. Die Verwendung von Chalk ist im folgenden Code-Snippet zu sehen:
import chalk from 'chalk'; console.log(chalk.blue('Hello world!'));
chalk.level definiert die Farben, die auf jeder Ebene unterstützt werden. „0“ zeigt an, dass alle Farben deaktiviert sind, „1“ gibt grundlegende Farbunterstützung an, „2“ gibt 256-Farben-Unterstützung an und „3“ gibt Truecolor-Unterstützung an. Die verschiedenen Stilmodifikatoren zum Formatieren von Text, die von Chalk unterstützt werden, sind invers, versteckt, sichtbar, durchgestrichen, fett, zurückgesetzt, kursiv, unterstrichen, überstrichen und abgedunkelt.
NpKill
Npkill ist ein Tool, das alte und schwere Knotenmodulordner entfernt. Es hilft, Knotenmodule sehr schnell zu entfernen und Platz in Ihrem System freizugeben. Es wurde mit TypeScript, JavaScript und Go entwickelt. Es hat keine Abhängigkeiten und ist einfach zu bedienen. Der Befehl zur Installation von Npkill lautet:
$ npm i -g npkill
Alle im Pfad mit dem Befehl npkill angegebenen Knotenmodule werden gelöscht. Beim Löschen der Knotenmodule ist Vorsicht geboten, da dieser Vorgang irreversibel ist. Werden dabei die Module eines aktiven Projekts gelöscht, werden die Dateien beschädigt und die Knotenmodule müssen erneut installiert werden.
fkill-cli
fkill-cli ist ein interaktives Open-Source-Befehlszeilentool, das Linux-Prozesse und -Ports beendet. Es wurde mit Node.js entwickelt. Es ist einfach, kostenlos, sicher und plattformübergreifend kompatibel. Es funktioniert unter Windows, Linux und macOS. Der Installationsbefehl für fkill-cli lautet:
$ npm install --global fkill-cli
Der Prozessname und die ID sind erforderlich, um den Prozess zu beenden. „-f“ erzwingt die Ausführung der Operation, während der Befehl „-v“ Prozessargumente anzeigt. Die fkill-API nimmt Eingaben und Optionen als Argumente entgegen und gibt ein Promise-Objekt zurück. Einige Optionen sind „force“, „silent“, „ignoreCase“, „tree“ und „forceAfterTimeout“.
Localtunnel
Localtunnel ist eine Plattform, die es ermöglicht, Webdienste aus einer externen Umgebung mit der lokalen Umgebung eines Computers zu teilen, ohne die DNS- und Firewall-Einstellungen des Systems zu ändern.
Die Anfragen werden von Localtunnel weitergeleitet und an den lokal bereitgestellten Server weitergeleitet, nachdem ihm eine öffentlich zugängliche URL zugewiesen wurde. Der Befehl zur Installation von Localtunnel lautet wie folgt:
$ npm install -g localtunnel
Es ist sicher und verwendet HTTPS-Anfragen. Diese APIs können zum Testen von Webhooks verwendet werden. Die Benutzeroberfläche kann in Cloud-Browsern mit Localtunnel getestet werden.
Inquirer.js
Inquirer.js ist eine interaktive Befehlszeilen-Benutzeroberfläche für Node.js-Anwendungen. Es erleichtert das Auffinden von Fehlern, das Analysieren von Eingaben, das Validieren von Antworten und das Verwalten hierarchischer Eingabeaufforderungen. Es verwendet native ESM-Module für die Implementierung seiner Funktionalitäten. Der Befehl zur Installation von Inquirer.js lautet:
$ npm install --save inquirer
Zu den verschiedenen verwendeten Methoden gehören prompt, registerPrompt, createPromptModule usw. prompt() ist eine Funktion, die Frage und Antwort als Eingaben akzeptiert und beim Aufruf ein Promise zurückgibt.
Frage ist ein Objekt, das eine gehashte Version von fragebezogenen Werten wie Typ, Nachricht, Standardwert, Auswahlmöglichkeiten und Filter enthält. Das Schlüssel-Wert-Objektpaar Antwort enthält die gehashte Version von Client-Antworten. Der Schlüssel ist die Frageeigenschaft, während der Wert Bestätigung, Eingabe, Zahl, Rohliste usw. enthalten kann.
http-Server
http-server ist ein statischer http-Server für die Befehlszeile. Er ist einfach und erfordert keine Konfigurationen. Er besteht aus 2 Dateien: index.html und 404.html. index.html ist die Standarddatei, die bei Anfragen gerendert wird. 404.html wird gerendert, wenn eine Datei nicht gefunden wird. Der Befehl zur Installation des HTTP-Servers lautet wie folgt:
$ npm install --global http-server
Er wurde mit HTML und JavaScript entwickelt. Er gewährleistet Sicherheit durch TLS/SSL-Zertifikate. Er verwendet den RSA-Algorithmus zur Schlüsselverschlüsselung und -entschlüsselung. Er ermöglicht auch die Definition einer Passphrase zusammen mit einem privaten Schlüssel für Sicherheitszwecke.
Zusammenfassung
JavaScript ist die am weitesten verbreitete Programmiersprache für die Softwareentwicklung. Um das Leben von Entwicklern einfacher zu machen, wurden verschiedene Node.js-Pakete entwickelt.
Node.js-Pakete wie Retire.js, Localtunnel, Xo, Inquirer.js, Shelljs, fkill, NodeJsScan und Prettier können zum Formatieren von Code, zur Gewährleistung der Sicherheit, zum Hervorheben von Codeänderungen und zum Löschen schwerer und unerwünschter Knotenmodule verwendet werden. Dies hilft Entwicklern, ihren Code effizient zu debuggen, zu schreiben und zu verwalten.
Zusätzlich können Sie nachlesen, wie Sie Node.js und NPM unter Windows und macOS installieren.