モジュール基本モジュール

モジュールvm

サンドボックス モジュール。異なるセキュリティ レベルのオペレーティング環境を分離するために使用されます。

分離サンドボックスを確立することで、スクリプトの実行時にアクセスできるリソースを制限し、異なるスクリプト実行環境を分離し、異なる環境に合わせて基本モジュールをカスタマイズして、動作環境全体のセキュリティを確保できます。

次の例では、グローバル 基本モジュールへのアクセスのみを制限するサンドボックスを作成します。assertモジュールを追加し、2 つのカスタム モジュール a と b を追加します。

1 2 3 4 5 6 7 8
var vm = require('vm'); var sbox = new vm.SandBox({ a: 100, b: 200, assert: require('assert') }); var mod_in_sbox = sbox.require('./path/to/mod');

物体

SandBox

作成するSandBoxオブジェクト、参照SandBox

1
SandBox vm.SandBox;

Script

作成するScriptオブジェクト、参照Script

1
Script vm.Script;

静的関数

createContext

コンテキストオブジェクトを作成する

1 2
static Object vm.createContext(Object contextObject = {}, Object opts = {});

呼び出しパラメータ:

  • contextObject: オブジェクト。コンテキスト化するオブジェクトを指定します。
  • opts: オブジェクト、コンテキスト オプションを指定します

返される結果:

  • Object、コンテキストオブジェクトを返します

isContext

与えられた場合objectオブジェクトが使用されていますvm.createContext() コンテキスト化の場合、true を返します

1
static Boolean vm.isContext(Object contextObject);

呼び出しパラメータ:

  • contextObject: オブジェクト、チェックするオブジェクトを指定します

返される結果:

  • Boolean、与えられた場合objectオブジェクトが使用されていますvm.createContext() コンテキスト化の場合、true を返します

runInContext

指定された contextizedObject 内の code で指定されたコードを実行し、結果を返します。

1 2 3
static Value vm.runInContext(String code, Object contextifiedObject, Object opts = {});

呼び出しパラメータ:

  • code: 文字列。コンパイルして実行するスクリプト コードを指定します。
  • contextifiedObject: オブジェクト。ランタイム コンテキスト オブジェクトを指定します。
  • opts: オブジェクト、実行オプションを指定します

返される結果:

  • Value、実行結果を返します

指定された contextizedObject 内の code で指定されたコードを実行し、結果を返します。

1 2 3
static Value vm.runInContext(String code, Object contextifiedObject, String filename);

呼び出しパラメータ:

  • code: 文字列。コンパイルして実行するスクリプト コードを指定します。
  • contextifiedObject: オブジェクト。ランタイム コンテキスト オブジェクトを指定します。
  • filename: 文字列、スクリプトファイル名を指定します

返される結果:

  • Value、実行結果を返します

runInNewContext

指定された contextObject を使用して、作成されたコンテキスト内の code で指定されたコードを実行し、結果を返します。

1 2 3
static Value vm.runInNewContext(String code, Object contextObject = {}, Object opts = {});

呼び出しパラメータ:

  • code: 文字列。コンパイルして実行するスクリプト コードを指定します。
  • contextObject: オブジェクト。コンテキスト化するオブジェクトを指定します。
  • opts: オブジェクト、実行オプションを指定します

返される結果:

  • Value、実行結果を返します

指定された contextObject を使用して、作成されたコンテキスト内の code で指定されたコードを実行し、結果を返します。

1 2 3
static Value vm.runInNewContext(String code, Object contextObject = {}, String filename);

呼び出しパラメータ:

  • code: 文字列。コンパイルして実行するスクリプト コードを指定します。
  • contextObject: オブジェクト。コンテキスト化するオブジェクトを指定します。
  • filename: 文字列、スクリプトファイル名を指定します

返される結果:

  • Value、実行結果を返します

runInThisContext

現在のコンテキスト内で code で指定されたコードを実行し、結果を返します。

1 2
static Value vm.runInThisContext(String code, Object opts = {});

呼び出しパラメータ:

  • code: 文字列。コンパイルして実行するスクリプト コードを指定します。
  • opts: オブジェクト、実行オプションを指定します

返される結果:

  • Value、実行結果を返します

現在のコンテキスト内で code で指定されたコードを実行し、結果を返します。

1 2
static Value vm.runInThisContext(String code, String filename);

呼び出しパラメータ:

  • code: 文字列。コンパイルして実行するスクリプト コードを指定します。
  • filename: 文字列、スクリプトファイル名を指定します

返される結果:

  • Value、実行結果を返します