Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung des VM-Moduls in NodeJs_node.js
Was ist VM?
Das VM-Modul ist das Kernmodul in NodeJS und unterstützt die Anforderungsmethode und den Betriebsmechanismus von NodeJS. Manchmal verwenden wir auch VM-Vorlagen, um einige spezielle Aufgaben zu erledigen.
Über VM kann JS sofort kompiliert und ausgeführt oder kompiliert, gespeichert und später ausgeführt werden
Das VM-Modul enthält drei häufig verwendete Methoden zum Erstellen eines unabhängig laufenden Sandbox-Systems:
vm.runInThisContext(code, filename);
Diese Methode wird verwendet, um einen unabhängigen Sandbox-Laufbereich zu erstellen. Der Code innerhalb des Codes kann auf externe globale Objekte zugreifen, aber nicht auf andere Variablen
Und der Code wird intern und extern geteilt
Diese Methode wird verwendet, um einen unabhängigen Sandbox-Laufbereich zu erstellen. SandBox wird als globale Variable an den Code übergeben, es gibt jedoch keine globale Variable
Die SandBox-Anforderung ist die SandBox, die von der vm.createContext()-Methode erstellt wurde
Vergleichen
Komplexere Situationen
Was passiert, wenn runInThisContext in runInContext ausgeführt wird? Auf wessen globales Objekt greift runInThisContext zu?
Wie wird der folgende Code ausgeführt?
Der Code in runInThisContext kann auf externe globale Objekte zugreifen, aber es gibt tatsächlich kein globales Objekt außerhalb (obwohl es sich im Wesentlichen nicht um ein globales Objekt handelt).
Die Ausführungsergebnisse sind wie folgt