Global Objects


Глобальные объекты

Эти объекты доступны во всех модулях. Некоторые из этих объектов на самом деле не находятся в глобальном масштабе, а находятся в рамках модуля – об этом будет сказано в примечании.

Объекты, перечисленные здесь являются характерными для Node.js. Есть целый ряд встроенных объектов, которые являются частью языка JavaScript, которые также доступны глобально.

Примечание: (global - глобальный в программировании - о действии, распространяющемся на всю БД, на весь текст документа или программы, а также об идентификаторе, доступном всем процедурам программы)

Class: Buffer (Класс: Буфер)

  • <Функция>

Используется для обработки двоичных данных. Смотрите раздел buffer section.

__dirname

  • <Строка>

Имя каталога, в котором в данный момент находится выполняющийся скрипт.

Пример: запущенный node example.js от /Users/mjr

console.log(__dirname);
// /Users/mjr

__dirname на самом деле не глобален, а скорее локален по отношению к каждому модулю.

Например, с учетом двух модулей: а и Ь, где Ь является зависимым по отношению к а и существует структура каталогов:

  • /Users/mjr/app/a.js
  • /Users/mjr/app/node_modules/b/b.js

Ссылки на __dirname в пределах b.js будут возвращать /Users/mjr/app/node_modules/b в то время как ссылки на __dirname в переделах a.js будут возвращать /Users/mjr/app.

__filename

  • <Строка>

Имя файла выполняемого кода. Это разрешенный полный путь для этого файла кода. Для основной программы не обязательно использовать то же самое имя файла в командной строке. Значение внутри модуля и есть путь к этому файлу модуля.

Пример: запущенный node example.js от /Users/mjr

console.log(__filename);
// /Users/mjr/example.js

__filename на самом деле не глобален, а скорее локален по отношению к каждому модулю.

clearImmediate(immediateObject)

clearImmediate описан в разделе timers.

clearInterval(intervalObject)

clearInterval описан в разделе timers.

clearTimeout(timeoutObject)

clearTimeout описан в разделе timers.

console

  • <Объект>

Используется чтобы отображать информацию в stdout и stderr. Смотрите раздел console.

exports

Ссылка на module.exports, которая короче чем тип (тип название, присвоенное множеству элементов, обладающих некоторой совокупностью общих свойств. В программировании - определение области допустимых значений, которые может принимать переменная (объект), и множества операций, которые могут выполняться над переменной данного типа (объектом)типа.)

Смотрите module system documentation для получения деталей о том, когда использовать exports, а когда module.exports.

exports на самом деле не глобален, а скорее локален по отношению к каждому модулю.

Читайте module system documentation для получения дополнительной информации.

global

  • <Объект> Глобальный объект пространства имен.

В браузерах, область верхнего уровня является глобальной областью.

Это означает, что в браузерах, если вы находитесь в глобальной области то var something будет определять глобальную переменную.

В Node.js это происходит по-другому. Область верхнего уровня не глобальна; var something внутри модуля Node.js будет локальным для этого модуля.

module

  • <Объект>

Ссылка на текущий модуль. В частности module.exports используется для определения того, что экспортирует модуль и делает это доступным с помощью require().module на самом деле не глобален, а скорее локален по отношению к каждому модулю. Смотрите module system documentation для получения большей информации.

process

  • <Объект>

Объект процесса. Смотрите раздел process object.

require()

  • <Функция>

Требует модулей. Смортите раздел Modules. require на самом деле не глобален, а скорее локален по отношению к каждому модулю.require.cache#

require.cache

  • <Объект>

Модули кэшируются в этом объекте, когда они необходимы. При удалении ключа из этого объекта, следующий require будет требовать перезагрузки модуля. Обратите внимание, что это не относится к native addons, для которых перезагрузка будет приводить к ошибке.


REQUIRE.EXTENSIONS

Стабильность: 0 – устарело или набрало много негативных отзывов

  • <Объект>

Задайте инструкции для require по поводу того как обращаться с определенными расширениями файлов.

Файлы процесса с расширением .sjs как .js:

require.extensions['.sjs'] = require.extensions['.js'];

Не рекомендуется. В прошлом, этот список был использован для загрузки не-модулей не принадлежащих JavaScript в Node.js путем объединения их по запросу. Однако, на практике, есть намного лучшие способы сделать это, такие как загрузка модулей через какую-либо другую программу Node.js, или компиляция их в JavaScript досрочно.

Поскольку модульная система заблокирована, эта функция скорее всего не уйдет. Тем не менее, она может иметь едва различимые ошибки и сложности, которые лучше оставить нетронутыми.

require.resolve()

Используйте внутренний алгоритм require() для поиска местоположения модуля, но вместо загрузки модуля, просто верните разрешенное имя файла.


setImmediate(callback[, ...args])

setImmediate описан в разделе timers.

setInterval(callback, delay[, arg][, ...])

setInterval описан в разделе timers.

setTimeout(callback, delay[, arg][, ...])

setTimeout описан в разделе timers.