


Nodejs minimalistisches Einführungs-Tutorial (1): Modulmechanismus_node.js
Die JavaScript-Spezifikation (ECMAScript) definiert keine vollständige Standardbibliothek, die von den meisten Programmen verwendet werden kann. CommonJS bietet eine Reihe von JavaScript-Standardbibliotheksspezifikationen. Der Knoten implementiert die CommonJS-Spezifikation.
Modulgrundlagen
In Node haben Module und Dateien eine Eins-zu-Eins-Entsprechung. Wir definieren ein Modul:
// Circle.js
var PI = Math.PI;
//Funktionsbereich exportieren
exports.area = function(r) {
Rückgabe PI * r * r;
}
//Funktionsumfang exportieren
exports.circumference = function(r) {
Geben Sie 2 * PI * r;
zurück };
Fügen Sie hier die Funktionen hinzu, die zum Exportobjekt exportiert werden müssen. Lokale Variablen eines Moduls sind von außen nicht zugänglich (z. B. die PI-Variable im obigen Beispiel). Rufen Sie require auf, um das Modul Circle.js zu laden:
var Circle = require('./circle.js');
console.log('Die Fläche eines Kreises mit Radius 4 ist '
circle.area(4));
Übrigens gibt es im Modul ein Modulobjekt, das das Modul selbst darstellt, und exports ist das Attribut des Moduls.
Modul wird geladen
Der Knoten puffert geladene Module, um den Mehraufwand für das erneute Laden zu vermeiden:
// test.js
console.log("Ich bin hier");
Modul test.js mehrmals laden
// „Ich bin hier“
nur einmal ausgeben require('./test');
require('./test');
Wenn Sie eine Datei ohne Suffix laden, versucht Node, ein Suffix hinzuzufügen und zu laden:
1..js (JavaScript-Quelldatei)
2..Knoten (C/C-Erweiterungsmodul)
3..json (JSON-Datei)
Es gibt mehrere Hauptkategorien von Modulen:
1. Kernmodul. Die Kernmodule wurden in Node kompiliert und wir finden diese Kernmodule im lib-Verzeichnis im Quellcode. Gemeinsame Kernmodule: Net-, http-, FS-Module usw.
2. Dateimodul. Dateimodule werden über einen relativen oder absoluten Pfad geladen, wie zum Beispiel „circle.js“
, das wir oben gesehen haben3. Benutzerdefiniertes Modul. Benutzerdefinierte Module befinden sich im Verzeichnis „node_modules“ und die verschiedenen Module, die wir über npm installieren, werden im Verzeichnis „node_modules“
abgelegtDas Kernmodul wird immer zuerst geladen. Wenn ein benutzerdefiniertes Modul http vorhanden ist, wird weiterhin das Kernmodul http anstelle des benutzerdefinierten Moduls http geladen. Suchen Sie beim Laden eines benutzerdefinierten Moduls zunächst nach dem Verzeichnis „node_modules“ im aktuellen Verzeichnis, dann nach dem Verzeichnis „node_modules“ unter dem übergeordneten Verzeichnis und so weiter bis zum Stammverzeichnis.
require Wenn das geladene Modul keine Datei, sondern ein Verzeichnis ist, wird ein solches Verzeichnis als Paket bezeichnet. Im Paket gibt es eine Datei mit dem Namen package.json (Paketbeschreibungsdatei), zum Beispiel:
{ "name" : "some-library",
„main“: „./lib/some-library.js“ }
Wobei main das Modul angibt, das geladen werden muss. Wenn package.json nicht im Paket vorhanden ist oder das Hauptmodul nicht in package.json angegeben ist, versucht Node, index.js, index.node und index.json zu laden.
Beim Laden eines JavaScript-Moduls wird das geladene Modul in eine Funktion eingeschlossen:
function(module, exports, __filename, __dirname, ...) {
JavaScript-Modul
}
Das Modul, die Exporte, der __Dateiname, der __Verzeichnisname usw., auf die jedes JavaScript-Modul zugreift, werden tatsächlich über Funktionsparameter übergeben. Aufgrund dieser Umhüllung sind die lokalen Variablen des Moduls von außen nicht zugänglich. Aber manchmal gibt es Probleme, die schwer zu verstehen sind, wie zum Beispiel:
test1.js
exporte = {
Name: 'Name5566',
}
test2.js
module.exports = {
Name: 'Name5566',
}
Laden Sie diese beiden Module:
var test1 = require('./test1.js');
console.log(test1.name); // undefiniert
var test2 = require('./test2.js');
console.log(test2.name); // Name5566
Exports wird als Parameter an das Modul übergeben. Wir können dem Exports-Objekt natürlich Attribute (oder Methoden) über exports.x hinzufügen, aber die direkte Zuweisung eines Werts an exports (z. B. exports = x) ändert nur das Formale Parameter statt des tatsächlichen Parameters, daher:
1. Wenn Sie Attribute zu Exporten hinzufügen, verwenden Sie Exporte
2. Wenn Sie Exporten Werte zuweisen, verwenden Sie module.exports
Packen
Gemäß den CommonJS-Spezifikationen sollte ein Komplettpaket Folgendes enthalten:
1.package.json Paketbeschreibungsdatei
2.bin-Binärdateiverzeichnis
3.lib JavaScript-Codeverzeichnis
4.doc-Dokumentverzeichnis
5.Test-Testcode-Verzeichnis
NPM ist ein Paketverwaltungstool für Node. Allgemeine Verwendung:
Sehen Sie sich die Dokumentation für den Befehl an:
npm help install
Siehe die Dokumentation zum Installationsbefehl.
Installieren Sie ein Paket:
npm install redis
Installieren Sie das Redis-Paket. Der Installationsbefehl installiert das Paket im Verzeichnis node_modules im aktuellen Verzeichnis.
Ein Paket entfernen:
npm redis entfernen
Entfernen Sie das Redis-Paket. Der Befehl „remove“ entfernt das Paket im aktuellen Verzeichnis.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Die Hauptunterschiede zwischen Node.js und Tomcat sind: Laufzeit: Node.js basiert auf der JavaScript-Laufzeit, während Tomcat ein Java-Servlet-Container ist. E/A-Modell: Node.js verwendet ein asynchrones, nicht blockierendes Modell, während Tomcat synchrones Blockieren verwendet. Parallelitätsbehandlung: Node.js verarbeitet die Parallelität über eine Ereignisschleife, während Tomcat einen Thread-Pool verwendet. Anwendungsszenarien: Node.js eignet sich für Echtzeit-, datenintensive und Anwendungen mit hoher Parallelität, und Tomcat eignet sich für herkömmliche Java-Webanwendungen.

Node.js ist eine serverseitige JavaScript-Laufzeitumgebung, während Vue.js ein clientseitiges JavaScript-Framework zum Erstellen interaktiver Benutzeroberflächen ist. Node.js wird für die serverseitige Entwicklung verwendet, beispielsweise für die Entwicklung von Back-End-Service-APIs und die Datenverarbeitung, während Vue.js für die clientseitige Entwicklung verwendet wird, beispielsweise für Single-Page-Anwendungen und reaktionsfähige Benutzeroberflächen.

Node.js kann als Backend-Framework verwendet werden, da es Funktionen wie hohe Leistung, Skalierbarkeit, plattformübergreifende Unterstützung, ein umfangreiches Ökosystem und einfache Entwicklung bietet.

Es gibt zwei npm-bezogene Dateien im Node.js-Installationsverzeichnis: npm und npm.cmd. Die Unterschiede sind wie folgt: unterschiedliche Erweiterungen: npm ist eine ausführbare Datei und npm.cmd ist eine Befehlsfensterverknüpfung. Windows-Benutzer: npm.cmd kann über die Eingabeaufforderung verwendet werden, npm kann nur über die Befehlszeile ausgeführt werden. Kompatibilität: npm.cmd ist spezifisch für Windows-Systeme, npm ist plattformübergreifend verfügbar. Nutzungsempfehlungen: Windows-Benutzer verwenden npm.cmd, andere Betriebssysteme verwenden npm.

Um eine Verbindung zu einer MySQL-Datenbank herzustellen, müssen Sie die folgenden Schritte ausführen: Installieren Sie den MySQL2-Treiber. Verwenden Sie mysql2.createConnection(), um ein Verbindungsobjekt zu erstellen, das die Hostadresse, den Port, den Benutzernamen, das Passwort und den Datenbanknamen enthält. Verwenden Sie „connection.query()“, um Abfragen durchzuführen. Verwenden Sie abschließend Connection.end(), um die Verbindung zu beenden.

Ja, Node.js ist eine Backend-Entwicklungssprache. Es wird für die Back-End-Entwicklung verwendet, einschließlich der Handhabung serverseitiger Geschäftslogik, der Verwaltung von Datenbankverbindungen und der Bereitstellung von APIs.

Die folgenden globalen Variablen sind in Node.js vorhanden: Globales Objekt: global Kernmodul: Prozess, Konsole, erforderlich Laufzeitumgebungsvariablen: __dirname, __filename, __line, __column Konstanten: undefiniert, null, NaN, Infinity, -Infinity

Die Hauptunterschiede zwischen Node.js und Java sind Design und Funktionen: Ereignisgesteuert vs. Thread-gesteuert: Node.js ist ereignisgesteuert und Java ist Thread-gesteuert. Single-Threaded vs. Multi-Threaded: Node.js verwendet eine Single-Threaded-Ereignisschleife und Java verwendet eine Multithread-Architektur. Laufzeitumgebung: Node.js läuft auf der V8-JavaScript-Engine, während Java auf der JVM läuft. Syntax: Node.js verwendet JavaScript-Syntax, während Java Java-Syntax verwendet. Zweck: Node.js eignet sich für I/O-intensive Aufgaben, während Java für große Unternehmensanwendungen geeignet ist.
