Модуль базовый модуль

Модуль глобальный

Глобальный объект, базовый объект, доступный для всех скриптов

объекты

Buffer

Двоичный объект кэша данных, для io считывания данных и обработки записи, см Buffer объекта.

1
Buffer global.Buffer;

console

Консольный объект доступа

1
console global.console;

process

Объект процесса

1
process global.process;

Статическая функция

run

Запустить скрипт

1 2
static global.run(String fname, Array argv = []);

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

  • fname : String, указать путь к скрипту для запуска
  • argv : Array, укажите параметры для запуска, этот параметр можно получить в скрипте с помощью argv

require

Загрузите модуль и верните объект модуля, см. Модуль @ref для получения дополнительной информации.

1
static Value global.require(String id);

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

  • id : String, указывает имя загружаемого модуля

Возвращает результат:

  • Value , возвращает экспортированный объект загруженного модуля

require может использоваться для загрузки основных модулей и файловых модулей.

Базовый модуль - это модуль, который инициализируется при создании песочницы. При обращении к нему вам нужно только передать соответствующий идентификатор, например require (" net ").

Файловый модуль - это определяемый пользователем модуль. При обращении к нему необходимо указать относительный путь, который начинается с ./ или ../. Файловый модуль поддерживает .js, .jsc и. json файл.

Файловый модуль также поддерживает формат package.json. Когда модуль находится в структуре каталогов, require сначала запросит файл main в package.json. Если он не найден, попробуйте загрузить в путь index.js, index.jsc или index.json.

Если ссылочный путь не начинается с ./ или ../ и не является базовым модулем, require ищет узлы node_modules в пути, где находится текущий модуль, и рекурсивно из родительского каталога.

Основной процесс заключается в следующем:

%0 start start is_native is internal module? start->is_native resolve path.resolve has_file module exists? resolve->has_file search recursive lookup node_modules from the current path search->has_file load load end end load->end is_native->end Yes is_mod is module? is_native->is_mod No is_mod->search Yes is_abs is absolute? is_mod->is_abs No is_abs->resolve No is_abs->has_file Yes has_file->load Yes has_ext module.js exists? has_file->has_ext No has_ext->load Yes has_package /package.json exists? has_ext->has_package No has_main main exists? has_package->has_main Yes has_index index.js exists? has_package->has_index No has_main->load Yes has_main->has_index No has_index->load Yes has_index->end No

setTimeout

Вызовите функцию после указанного времени

1 2 3
static Timer global.setTimeout(Function callback, Number timeout = 1, ...args);

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

  • callback : функция, укажите функцию обратного вызова
  • timeout : Number, указывает время задержки в миллисекундах. Если оно превышает 2 ^ 31, оно будет выполнено немедленно.
  • args : ..., дополнительные параметры, передаваемые в указанный обратный вызов, необязательно.

Возвращает результат:

  • Timer , возвращает объект таймера

clearTimeout

Очистить указанный таймер

1
static global.clearTimeout(Value t);

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

  • t : значение, указывает таймер для очистки

setInterval

Функция вызывается после каждого указанного времени

1 2 3
static Timer global.setInterval(Function callback, Number timeout, ...args);

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

  • callback : функция, укажите функцию обратного вызова
  • timeout : Number, задает интервал времени в миллисекундах. Если оно превышает 2 ^ 31, оно будет выполнено немедленно.
  • args : ..., дополнительные параметры, передаваемые в указанный обратный вызов, необязательно.

Возвращает результат:

  • Timer , возвращает объект таймера

clearInterval

Очистить указанный таймер

1
static global.clearInterval(Value t);

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

  • t : значение, указывает таймер для очистки

setHrInterval

Функция вызывается после каждого указанного времени. Это высокоточный таймер, который активно прерывает таймер выполнения сценария JavaScript.

1 2 3
static Timer global.setHrInterval(Function callback, Number timeout, ...args);

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

  • callback : функция, укажите функцию обратного вызова
  • timeout : Number, задает интервал времени в миллисекундах. Если оно превышает 2 ^ 31, оно будет выполнено немедленно.
  • args : ..., дополнительные параметры, передаваемые в указанный обратный вызов, необязательно.

Возвращает результат:

  • Timer , возвращает объект таймера

Поскольку таймер setHrInterval будет прерывать исполняемый код для выполнения обратного вызова, не изменяйте данные в функции обратного вызова, которые могут повлиять на другие модули, или вызывайте любую функцию API, отмеченную как асинхронную в обратном вызове, в противном случае это приведет к непредсказуемым результатам. Например:

1 2 3 4 5 6 7 8 9 10
var timers = require('timers'); var cnt = 0; timers.setHrInterval(() => { cnt++; }, 100); while (cnt < 10); console.error("===============================> done");

В этом коде цикл в строке 8 не заканчивается, потому что cnt изменяется, потому что JavaScript оптимизирует код, предполагая, что cnt не будет изменен во время этого цикла.


clearHrInterval

Очистить указанный таймер

1
static global.clearHrInterval(Value t);

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

  • t : значение, указывает таймер для очистки

setImmediate

Функция обратного вызова выполняется немедленно в следующее свободное время

1 2
static Timer global.setImmediate(Function callback, ...args);

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

  • callback : функция, укажите функцию обратного вызова
  • args : ..., дополнительные параметры, передаваемые в указанный обратный вызов, необязательно.

Возвращает результат:

  • Timer , возвращает объект таймера

clearImmediate

Очистить указанный таймер

1
static global.clearImmediate(Value t);

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

  • t : значение, указывает таймер для очистки

GC

Обязательная сборка мусора

1
static global.GC();

repl

Войдите в интерактивный режим, вы можете выполнять внутренние команды и код в интерактивном режиме, на который можно ссылаться только при запуске JS

1
static global.repl(Array cmds = []);

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

  • cmds : Array, дополнительные команды

Формат параметра cmd следующий:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[{ cmd: ".test", help: "this is a test", exec: function(argv) { console.log(argv); } }, { cmd: ".test1", help: "this is an other test", exec: function(argv) { console.log(argv); } } ]

Войдите в интерактивный режим, вы можете выполнять внутренние команды и код в интерактивном режиме, на который можно ссылаться только при запуске JS

1 2
static global.repl(Stream out, Array cmds = []);

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

  • out : Stream , объект потока ввода / вывода, обычно это сетевое соединение
  • cmds : Array, дополнительные команды

Одновременно допускается только одна реплика Stream . При создании новой реплики Stream предыдущая реплика будет закрыта.

Формат параметра cmd следующий:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[{ cmd: ".test", help: "this is a test", exec: function(argv) { console.log(argv); } }, { cmd: ".test1", help: "this is an other test", exec: function(argv) { console.log(argv); } } ]

Статическое свойство

Master

Worker , Worker объект Worker , действителен только в сценарии ввода Worker

1
static readonly Worker global.Master;

global

Объект, глобальный объект

1
static readonly Object new global;

argv

Массив, получить параметры запуска текущего скрипта, запустить js, чтобы получить параметры запуска процесса, запустить скрипт, чтобы получить переданные параметры

1
static readonly Array global.argv;

__filename

Строка, текущее имя файла скрипта

1
static readonly String global.__filename;

__dirname

String, каталог, в котором находится текущий скрипт

1
static readonly String global.__dirname;