Spec-Zone.ru › Deno 2

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

Ключевые возможности

  • Поддержка встроенных модулей: доступ к модулям Node.js с помощью префикса node: (например, import fs from "node:fs")
  • Глобальные объекты: глобальные объекты Node.js доступны в области пакетов npm
  • Уровень совместимости: беспроблемное взаимодействие с существующим кодом Node.js
  • Производительность: нативные реализации, оптимизированные для среды выполнения Deno

Основные модули

Файловая система

  • node:fs — операции с файловой системой (чтение, запись, наблюдение, статистика)
  • node:fs/promises — API файловой системы на основе промисов
  • node:path — кроссплатформенные утилиты для работы с путями

Сеть и HTTP

  • node:http — возможности HTTP-сервера и клиента
  • node:https — HTTPS-сервер и клиент с поддержкой TLS
  • node:http2 — реализация сервера и клиента HTTP/2
  • node:net — утилиты для работы с TCP-сетями
  • node:dns — разрешение DNS-имен и функции поиска

Процессы и система

  • node:process — сведения о процессах и управление ими
  • node:os — системные утилиты и сведения об операционной системе
  • node:child_process — создание дочерних процессов и управление ими
  • node:cluster — поддержка кластеризации нескольких процессов

Криптография и безопасность

  • node:crypto — криптографические возможности (хеширование, шифрование, сертификаты)
  • node:tls — уровень защищённой связи TLS/SSL

Данные и потоки

  • node:stream — интерфейсы потоков (чтение, запись, преобразование)
  • node:buffer — работа с двоичными данными с помощью класса Buffer
  • node:zlib — сжатие и распаковка данных
  • node:string_decoder — декодирование буферов в строки

Утилиты

  • node:util — вспомогательные функции (promisify, inspect, types)
  • node:events — реализация шаблона эмиттера событий
  • node:url — утилиты для разбора и форматирования URL
  • node:querystring — утилиты для работы со строками запроса
  • node:assert — поддержка тестирования с помощью утверждений

Разработка и тестирование

  • node:vm — контексты виртуальных машин для выполнения кода
  • node:repl — функциональность цикла чтение—вычисление—вывод
  • node:inspector — интеграция инспектора V8 для отладки

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

Глобальные объекты Node.js доступны в области пакетов npm и могут быть импортированы из соответствующих модулей node::

  • Buffer — обработка двоичных данных
  • process — сведения о процессе и окружении
  • global — объект глобального пространства имён
  • __dirname / __filename — сведения о путях модулей
  • Веб-стандарты — fetch, URL, TextEncoder, crypto и многое другое

Примеры использования

Базовый импорт модуля

import fs from "node:fs";
import { readFile } from "node:fs/promises";
import path from "node:path";

// Synchronous file reading
const data = fs.readFileSync("file.txt", "utf8");

// Asynchronous file reading
const content = await readFile("file.txt", "utf8");

// Path manipulation
const fullPath = path.join("/users", "documents", "file.txt");

HTTP-сервер

import http from "node:http";

const server = http.createServer((req, res) => {
  res.writeHead(200, { "Content-Type": "text/plain" });
  res.end("Hello from Node.js API in Deno!");
});

server.listen(3000, () => {
  console.log("Server running on port 3000");
});

Криптографические операции

import crypto from "node:crypto";

// Generate hash
const hash = crypto.createHash("sha256");
hash.update("Hello World");
const digest = hash.digest("hex");

// Generate random bytes
const randomBytes = crypto.randomBytes(16);

Совместимость

Работа над совместимостью с Node.js продолжается. Большинство основных API Node.js поддерживаются с высокой точностью. Подробную информацию о совместимости см. здесь:

  • Ознакомьтесь с нашим руководством по совместимости с Node.js
  • Проверьте результаты тестирования Node.js, чтобы узнать о покрытии конкретных тестов
  • Сообщите о проблемах совместимости на GitHub

Переход с Node.js

Пошаговое руководство по переносу проекта Node.js в Deno см. в руководстве по миграции.

© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/node/about

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API