Spec-Zone.ru › Next.js

Edge Runtime

The Next.js Edge Runtime is based on standard Web APIs, it supports the following APIs:

Network APIs

API Description
Blob Представляет фрагмент данных
fetch Получает ресурс
FetchEvent Представляет событие получения ресурса
File Представляет файл
FormData Представляет данные формы
Headers Представляет HTTP-заголовки
Request Представляет HTTP-запрос
Response Представляет HTTP-ответ
URLSearchParams Представляет параметры поиска URL
WebSocket Представляет подключение WebSocket

Encoding APIs

API Description
atob Декодирует строку, закодированную в base-64
btoa Кодирует строку в base-64
TextDecoder Декодирует Uint8Array в строку
TextDecoderStream Цепочечный декодер для потоков
TextEncoder Кодирует строку в Uint8Array
TextEncoderStream Цепочечный кодировщик для потоков

Stream APIs

API Description
ReadableStream Представляет читаемый поток
ReadableStreamBYOBReader Представляет читателя ReadableStream
ReadableStreamDefaultReader Представляет читателя ReadableStream
TransformStream Представляет поток преобразования
WritableStream Представляет записываемый поток
WritableStreamDefaultWriter Представляет писателя WritableStream

Crypto APIs

API Description
crypto Предоставляет доступ к криптографическим возможностям платформы
CryptoKey Представляет криптографический ключ
SubtleCrypto Предоставляет доступ к общим криптографическим примитивам, таким как хеширование, подписание, шифрование или дешифрование

Web Standard APIs

API Описание
AbortController Позволяет прервать один или несколько запросов DOM по мере необходимости
Array Представляет массив значений
ArrayBuffer Представляет буфер сырых двоичных данных с фиксированной длиной
Atomics Предоставляет атомарные операции в качестве статических методов
BigInt Представляет целое число с произвольной точностью
BigInt64Array Представляет типизированный массив 64-битных целых чисел со знаком
BigUint64Array Представляет типизированный массив 64-битных беззнаковых целых чисел
Boolean Представляет логическое значение и может принимать два значения: true и false
clearInterval Отменяет запланированное повторяющееся действие, которое было ранее установлено вызовом setInterval()
clearTimeout Отменяет запланированное действие, которое было ранее установлено вызовом setTimeout()
console Предоставляет доступ к консоли отладки браузера
DataView Представляет обобщённый вид ArrayBuffer
Date Представляет определенный момент времени в платформенно-независимом формате
decodeURI Декодирует универсальный идентификатор ресурса (URI), ранее созданный функцией encodeURI или подобной ей
decodeURIComponent Декодирует компонент универсального идентификатора ресурса (URI), ранее созданный функцией encodeURIComponent или подобной ей
DOMException Представляет ошибку, которая произошла в DOM
encodeURI Кодирует универсальный идентификатор ресурса (URI), заменяя каждый экземпляр определенных символов одной, двумя, тремя или четырьмя последовательностями экранирования, представляющими кодировку UTF-8 символа
encodeURIComponent Кодирует компонент универсального идентификатора ресурса (URI), заменяя каждый экземпляр определенных символов одной, двумя, тремя или четырьмя последовательностями экранирования, представляющими кодировку UTF-8 символа
Error Представляет ошибку при попытке выполнить оператор или получить доступ к свойству
EvalError Представляет ошибку, возникающую в связи с глобальной функцией eval()
Float32Array Представляет типизированный массив 32-битных чисел с плавающей точкой
Float64Array Представляет типизированный массив 64-битных чисел с плавающей точкой
Function Представляет функцию
Infinity Представляет математическое значение Infinity
Int8Array Представляет типизированный массив 8-битных целых чисел со знаком
Int16Array Представляет типизированный массив 16-битных целых чисел со знаком
Int32Array Представляет типизированный массив 32-битных целых чисел со знаком
Intl Предоставляет доступ к функциональности интернационализации и локализации
isFinite Определяет, является ли значение конечным числом
isNaN Определяет, является ли значение NaN или нет
JSON Предоставляет функциональность преобразования значений JavaScript в формат JSON и обратно
Map Представляет коллекцию значений, где каждое значение может встречаться только один раз
Math Предоставляет доступ к математическим функциям и константам
Number Представляет числовое значение
Object Представляет объект, который является основой для всех объектов JavaScript
parseFloat Парсит строковый аргумент и возвращает число с плавающей точкой
parseInt Парсит строковый аргумент и возвращает целое число с заданным основанием
Promise Представляет собой завершение (или ошибку) асинхронной операции и ее результирующее значение
Proxy Представляет объект, используемый для определения пользовательского поведения для основных операций (например, поиск свойства, присваивание, перечисление, вызов функции и т. д.)
queueMicrotask Добавляет микрозадачу в очередь для выполнения
RangeError Представляет ошибку, когда значение не находится в наборе или диапазоне разрешенных значений
ReferenceError Представляет ошибку, когда ссылаются на несуществующую переменную
Reflect Предоставляет методы для доступных к перехвату операций JavaScript
END_OF_DOCUMENT_MARKER
RegExp Представляет регулярное выражение, позволяющее сопоставлять комбинации символов
Set Представляет коллекцию значений, где каждое значение может встречаться только один раз
setInterval Повторно вызывает функцию с фиксированной задержкой между вызовами
setTimeout Вызывает функцию или вычисляет выражение после указанного количества миллисекунд
SharedArrayBuffer Представляет буфер общего, фиксированной длины, для необработанных двоичных данных
String Представляет последовательность символов
structuredClone Создаёт глубокую копию значения
Symbol Представляет уникальный и неизменяемый тип данных, используемый в качестве ключа свойства объекта
SyntaxError Представляет ошибку при попытке интерпретации синтаксически некорректного кода
TypeError Представляет ошибку, когда значение не соответствует ожидаемому типу
Uint8Array Представляет типизированный массив 8-битовых беззнаковых целых чисел
Uint8ClampedArray Представляет типизированный массив 8-битовых беззнаковых целых чисел, ограниченный значениями от 0 до 255
Uint32Array Представляет типизированный массив 32-битовых беззнаковых целых чисел
URIError Представляет ошибку, когда функция обработки глобального URI была использована неправильно
URL Представляет объект, предоставляющий статические методы для создания URL объектов
URLPattern Представляет шаблон URL
URLSearchParams Представляет коллекцию пар "ключ/значение"
WeakMap Представляет коллекцию пар "ключ/значение", в которой ключи слабо ссылаются
WeakSet Представляет коллекцию объектов, где каждый объект может встречаться только один раз
WebAssembly Предоставляет доступ к WebAssembly

Специфичные для Next.js полифилы

  • AsyncLocalStorage

Переменные окружения

Вы можете использовать process.env для доступа к Переменным окружения для next dev и next build.

Неподдерживаемые API

Edge Runtime имеет некоторые ограничения, включая:

  • Родные API Node.js не поддерживаются. Например, вы не можете читать или записывать в файловую систему.
  • node_modules могут использоваться, если они реализуют ES модули и не используют родные API Node.js.
  • Прямой вызов require запрещён. Используйте ES модули вместо этого.

Следующие языковые возможности JavaScript отключены и не будут работать:

API Описание
eval Вычисляет код JavaScript, представленный в виде строки
new Function(evalString) Создаёт новую функцию с кодом, предоставленным в качестве аргумента
WebAssembly.compile Компилирует модуль WebAssembly из буфера исходного кода
WebAssembly.instantiate Компилирует и инициализирует модуль WebAssembly из буфера исходного кода

В редких случаях ваш код может содержать (или импортировать) некоторые динамические выражения вычисления кода, которые не могут быть достигнуты во время выполнения и которые не могут быть удалены с помощью treeshaking. Вы можете ослабить проверку, разрешив определённые файлы с вашей Middleware или Edge API маршрутом экспортированной конфигурации:

export const config = {
  runtime: 'edge', // for Edge API Routes only
  unstable_allowDynamic: [
    // allows a single file
    '/lib/utilities.js',
    // use a glob to allow anything in the function-bind 3rd party module
    '/node_modules/function-bind/**',
  ],
}

unstable_allowDynamic — это шаблон, или массив шаблонов, игнорирующий динамическое вычисление кода для определённых файлов. Шаблоны относительны к корневой папке вашего приложения.

Обратите внимание, что если эти выражения будут выполнены на Edge, они вызовут ошибку во время выполнения.

© 2024 Vercel, Inc.
Licensed under the MIT License.
https://nextjs.org/docs/app/api-reference/edge

Spec-Zone.ru

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