Базовый модуль модуля

модульvm

Модуль «Песочница», используемый для изоляции операционных сред с разными уровнями безопасности.

Установив изолирующую изолированную программную среду, вы можете ограничить ресурсы, к которым сценарии могут получить доступ при запуске, изолировать различные среды выполнения сценариев и настроить базовые модули для разных сред, чтобы обеспечить безопасность всей операционной среды.

В следующем примере создается песочница, которая ограничивает доступ только к глобальным базовым модулям.assertмодуль и добавьте два пользовательских модуля 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

Запускает код, указанный code в данном contextualizedObject, и возвращает результат.

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

Параметры звонка:

  • code: строка, указывает код сценария, который необходимо скомпилировать и запустить.
  • contextifiedObject: Объект, указывает объект контекста времени выполнения.
  • opts: Объект, укажите параметры запуска

Результаты возврата:

  • Value, вернуть текущий результат

Запускает код, указанный code в данном contextualizedObject, и возвращает результат.

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

Запускает код, указанный в коде, в текущем контексте и возвращает результат.

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

Параметры звонка:

  • code: строка, указывает код сценария, который необходимо скомпилировать и запустить.
  • opts: Объект, укажите параметры запуска

Результаты возврата:

  • Value, вернуть текущий результат

Запускает код, указанный в коде, в текущем контексте и возвращает результат.

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

Параметры звонка:

  • code: строка, указывает код сценария, который необходимо скомпилировать и запустить.
  • filename: Строка, укажите имя файла скрипта.

Результаты возврата:

  • Value, вернуть текущий результат