ホームページ >ウェブフロントエンド >jsチュートリアル >NodeJs_node.jsのVMモジュールの詳細説明
VM とは何ですか?
VM モジュールは NodeJS のコア モジュールであり、require メソッドと NodeJS の操作メカニズムをサポートします。場合によっては、特別な処理を実行するために VM テンプレートを使用することもあります。
VM を介して、JS をすぐにコンパイルして実行することも、コンパイルして保存して後で実行することもできます。
VM モジュールには、独立して実行されるサンドボックス システムを作成するために一般的に使用される次の 3 つのメソッドが含まれています。
vm.runInThisContext(コード, ファイル名);
このメソッドは、独立したサンドボックス実行スペースを作成するために使用されます。コード内のコードは外部グローバル オブジェクトにアクセスできますが、他の変数にはアクセスできません。
そしてコードは社内外で共有されます
このメソッドは、独立したサンドボックス実行スペースを作成するために使用されます。sandBox はグローバル変数としてコードに渡されますが、グローバル変数
はありません。サンドボックスの要件は、vm.createContext() メソッドによって作成されたサンドボックスです
比較
より複雑な状況
runInThisContext で runInThisContext が実行されるとどうなりますか? runInThisContext は誰のグローバル オブジェクトにアクセスしますか?
次のコードはどのように実行されますか?
runInThisContext 内のコードは外部グローバル オブジェクトにアクセスできますが、実際には外部にグローバル オブジェクトはありません (存在しますが、本質的にはグローバル オブジェクトではありません)。runInThisContext は最上位のグローバル オブジェクトにのみアクセスできることに注意してください。
実行結果は以下の通りです