Heim  >  Artikel  >  Web-Frontend  >  node.js verwendet die Funktion require(), um module_node.js zu laden

node.js verwendet die Funktion require(), um module_node.js zu laden

WBOY
WBOYOriginal
2016-05-16 16:30:221663Durchsuche

Ausführliche Erklärungen können in den Kommentaren geschrieben werden, daher werde ich hier nicht auf Details eingehen, Freunde, bitte lesen Sie sie selbst im Detail. Nehmen Sie die Kommentare nicht als nichts auf.

Code kopieren Der Code lautet wie folgt:

/*Im Knoten können Sie die Funktion require() verwenden, um Module zu laden.
* Die Anforderungsfunktion verwendet einen Parameter. Der Parameterwert kann der Dateiname des Moduls mit vollständigem Pfad oder der Modulname sein. Wenn Sie das im Knoten bereitgestellte Modul verwenden, müssen Sie nur den Modulnamen angeben die Anforderungsfunktion
* */
//Erstelle eine Seite 2.js; der Code lautet wie folgt
var name="Dr. Sisi";
exports.name=name;
//Erstelle eine Seite 1.js; der Code lautet wie folgt
var two=require("./2.js");
console.log(two.name);
//Ausgabeergebnis: Dr. Sisi
/*
* Alle Skriptdateien im Knoten sind Moduldateien, daher ist 1.js auch eine Moduldatei. Da die Datei direkt über den Knotenbefehl im Befehlszeilenfenster ausgeführt wird, ist die Moduldatei im Knoten definiert Für das Hauptmodul von die Anwendung
* Mit der folgenden Methode können Sie erkennen, ob das aktuelle Modul das Hauptmodul
ist * */
if(module===require.main){
console.log("Das aktuelle Modul ist das Hauptmodul");
}
//Ausgabeergebnis: Das aktuelle Modul ist das Hauptmodul
//2.js-Code
var name="Dr. Sisi";
console.log(name);
exports.name=name;
//1.js-Code:
var two=require("./2.js");
var two=require("./2.js");
//Obwohl zweimal darauf verwiesen wird, wird die Ausgabe von console.log(name) nur einmal ausgeführt.
/*require.resolve(str)
* Im Knoten können Sie mit dieser Funktion den Dateinamen einer Moduldatei mit vollständigem absoluten Pfad abfragen.
* */
var url=require.resolve("./2");
console.log(url);
//Ausgabeergebnis:E:nodegys2.js
/*require.cache
* Im Knoten stellt dieses Attribut den Cache-Bereich aller geladenen Module dar.
* */
var two=require("./2.js");
var Cache=require.cache;
console.log(cache);
/*Ausgabeergebnis:
* { 'E:\node\gys\1.js':
{ id: '.',
Exporte: {},
übergeordnetes Element: null,
Dateiname: 'E:\node\gys\1.js',
geladen: falsch,
Kinder: [ [Objekt] ],
Pfade:
[ 'E:\node\gys\node_modules',
'E:\node\node_modules',
'E:\node_modules' ] },
'E:\node\gys\2.js':
{ id: 'E:\node\gys\2.js',
Exporte: { Name: 'Dr. Sisi' },
Elternteil:
{ id: '.',
Exporte: {},
übergeordnetes Element: null,
Dateiname: 'E:\node\gys\1.js',
geladen: falsch,
Kinder: [Objekt],
Pfade: [Objekt] },
Dateiname: 'E:\node\gys\2.js',
geladen: wahr,
Kinder: [],
Pfade:
[ 'E:\node\gys\node_modules',
'E:\node\node_modules',
'E:\node_modules' ] } }
* */
//2.js-Code
var name="Dr. Sisi";
console.log(name);
//1.js-Code
//Wenn das Schlüsselwort delete verwendet wird, um ein im Cache-Bereich zwischengespeichertes Modulobjekt zu löschen, wird der Code im Modul beim nächsten Laden des Moduls erneut ausgeführt. Verwendungscode:
var two=require("./2.js");
var two1=require("./2.js");
console.log("Vor dem Löschen")
löschen require.cache[require.resolve("./2.js")];
console.log("Nach dem Löschen");
var two2=require("./2.js");
/*
* Ausgabeergebnis:
*Dr. Sisi
* Vor dem Löschen
*Nach dem Löschen
*Dr. Sisi
* */

Haben Sie die Verwendung der Funktion require() im Knoten verstanden? Dieser Artikel basiert auf meinem eigenen Verständnis. Falls es Auslassungen gibt, korrigieren Sie mich bitte.

Stellungnahme:
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