Heim > Web-Frontend > js-Tutorial > NodeJS-Module [Einfache Erklärung]

NodeJS-Module [Einfache Erklärung]

Susan Sarandon
Freigeben: 2024-11-25 08:09:14
Original
542 Leute haben es durchsucht

NodeJS Modules [Simple Explanation]

Was sind Module?

Stellen Sie sich vor, Sie haben eine index.js-Datei in Ihrem NodeJS-Projekt, in der Sie fünf Funktionen verwendet haben. Zwei dieser Funktionen können jedoch auch in anderen Dateien verwendet werden. Anstelle einer Datei erstellen Sie also drei Dateien in Ihrem Projekt:

  • index.js
  • dependency1.js
  • dependency2.js

Hier ist jede dieser Javascript-Dateien ein Modul, und die Art und Weise, Klassen/Funktionen zu exportieren und zu importieren, ist im Grunde das Modulsystem. Ein Modulsystem ermöglicht es uns, von uns oder anderen Entwicklern geschriebenen Code aufzuteilen und einzubinden und bei Bedarf zu importieren.

Diese Module sind nicht nur die Javascript-Dateien, die in Ihrem Projekt vorhanden sind; Dabei kann es sich auch um ein beliebiges externes Paket handeln, das Sie als Abhängigkeit in Ihrem Projekt installiert haben. Außerdem verfügt NodeJS über einige integrierte Module wie http, fs usw., die zusammen mit der Installation verfügbar sind und ohne das Hinzufügen externer Abhängigkeiten importiert werden können.

Wie kann ich ein Modul exportieren oder importieren?

In Node werden zwei Modulsysteme verwendet.

  1. CommonJS (CJS)
  2. ECMAScript-Modul (ESM)

Sie haben das Beispiel Küche-Koch-Kellner in meinem vorherigen Blog gelesen; Wenn wir Module damit vergleichen, stellen wir uns vor, dass CommonJS ein altes großes Rezeptbuch ist, das wir zum Suchen und Finden eines Rezepts benötigen, während ESM eine neue digitale App zum Anzeigen von Rezepten ist.

CommonJS (CJS)

  • Das ältere Modulsystem.
  • Module sind in einem einfachen Format geschrieben wie:
// Export
module.exports = function SayHello() {
  console.log("Hello World!");
};

// Import
const GetHello = require("./hello-script.js");
SayHello(); // "Hello World!"
Nach dem Login kopieren
Nach dem Login kopieren
  • Synchron: Lädt Module nacheinander.
  • Funktioniert nur in Node.js (nicht direkt in Browsern).

ECMAScript-Module (ESM)

  • Das moderne Modulsystem.
  • Module sind jetzt strukturierter:
// Export
export function SayHello() {
  console.log("Hello World!");
}

// Import
import { SayHello } from "./hello-script.js";
SayHello();
Nach dem Login kopieren
Nach dem Login kopieren
  • Asynchron: Lädt mehrere Module gleichzeitig.
  • Funktioniert nativ in Browsern und Node.js.

Hauptunterschied in der Syntax:
CJS: module.exports / require
ESM: Export / Import

Wie konfiguriere ich CJS oder ESM in meinem Projekt?

  • Öffnen Sie die package.json Ihres Projekts.
  • Hinzufügen:
{
  type: "module";
}
Nach dem Login kopieren
Nach dem Login kopieren
  • Dadurch wird NodeJS angewiesen, .js als ESM zu interpretieren. Wenn wir dies nicht hinzufügen, interpretiert NodeJS es standardmäßig als CommonJS.

Module in Typescript:

Manchmal können Sie ECMAScript-Module verwenden, aber ein altes Paket, das Sie importiert haben, ist in CommonJS geschrieben. Um diese Fälle zu bewältigen, stellen wir manchmal sicher, dass der aus der Typescript-Datei generierte Ausgabe-Javascript-Code im üblichen Format vorliegt, auch wenn wir die Typescript-Dateien im ESM-Format geschrieben haben.

Dazu fügen wir die CompilerOptions in die tsconfig.json unseres Projekts ein:

// Export
module.exports = function SayHello() {
  console.log("Hello World!");
};

// Import
const GetHello = require("./hello-script.js");
SayHello(); // "Hello World!"
Nach dem Login kopieren
Nach dem Login kopieren

Was passiert dann:
Modul: „commonjs“: Gibt JavaScript mithilfe des CommonJS-Modulsystems aus, das require und module.exports verwendet.
Ziel: „es6“: Stellt sicher, dass das Ausgabe-JavaScript die ES6-Syntax und Funktionen wie Let-, Const- und Pfeilfunktionen verwendet.

Typescript-Code eingeben:

// Export
export function SayHello() {
  console.log("Hello World!");
}

// Import
import { SayHello } from "./hello-script.js";
SayHello();
Nach dem Login kopieren
Nach dem Login kopieren

Javascript-Code ausgeben:

{
  type: "module";
}
Nach dem Login kopieren
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonNodeJS-Module [Einfache Erklärung]. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage