Spec-Zone.ru › Deno 2

deno bundle

Информация
deno bundle — экспериментальная подкоманда, которая может измениться.

deno bundle объединяет ваш модуль и все его зависимости в один файл JavaScript, используя под капотом esbuild. Эта команда полезна для развертывания или распространения проекта в виде одного оптимизированного файла, но в настоящее время не предназначена для замены сложных или интерактивных инструментов сборки, таких как Vite или webpack.

Основное использование

›_
deno bundle -o output.js main.ts

Если не указать -o/--output, сборка будет записана в стандартный вывод. Затем выходной файл можно запустить с помощью Deno или в других средах выполнения JavaScript:

›_
deno run output.js

Основные параметры

Выберите целевую платформу с помощью --platform (по умолчанию deno или browser), уменьшите размер выходных данных с помощью --minify и создайте карты исходного кода с помощью --sourcemap:

›_
deno bundle --platform=browser --minify --sourcemap -o dist/app.js main.ts

Разделите общий код на отдельные фрагменты с помощью --code-splitting и укажите выходной каталог:

›_
deno bundle --code-splitting --outdir dist/ main.ts worker.ts

Исключите зависимость из сборки с помощью --external:

›_
deno bundle --external npm:sharp -o output.js main.ts

Создайте объявления TypeScript вместе с выходными данными JS с помощью --declaration. Deno объединяет типы для каждой точки входа в один автономный файл .d.ts:

›_
deno bundle main.ts --outdir dist --declaration
# Produces dist/main.js and dist/main.d.ts

Проверка типов

По умолчанию deno bundle не проверяет типы в коде. Включите проверку типов с помощью флага --check:

›_
# type-check local modules while bundling
deno bundle --check -o output.js main.ts

# also type-check remote modules
deno bundle --check=all -o output.js main.ts

Проверку типов также можно явно пропустить с помощью --no-check, а --no-check=remote игнорирует диагностику только удаленных модулей.

Поле browser

При сборке с помощью --platform=browser Deno учитывает поле npm browser в package.json зависимости, в том числе его объектную форму. Объект сопоставляет модули с заменами, предназначенными для браузера:

{
  "browser": {
    "./server.js": "./client.js",
    "crypto": false,
    "foo": "./shims/foo.js"
  }
}
  • Ключ с относительным путем перенаправляет разрешенный файл на файл для браузера (./server.js становится ./client.js).
  • Ключ с простым спецификатором перенаправляет импорт (foo становится ./shims/foo.js). Начальный префикс node: удаляется перед поиском, поэтому import "node:crypto" соответствует ключу "crypto".
  • Значение false исключает модуль: сборщик подставляет пустую заглушку.

Дополнительные сведения о стратегиях сборки с Deno см. в руководстве Сборка.

Использование в командной строке:
deno bundle [OPTIONS] [file]...

Выведите один файл JavaScript со всеми зависимостями.

deno bundle jsr:@std/http/file-server -o file-server.bundle.js

Если выходной файл не указан, данные записываются в стандартный вывод:

deno bundle jsr:@std/http/file-server

Параметры проверки типов

--check<CHECK_TYPE>необязательный

Включить проверку типов. По умолчанию эта подкоманда не проверяет типы; передайте --check=all, чтобы также проверять типы удаленных модулей. В качестве альтернативы используйте подкоманду 'deno check'.

--no-check<NO_CHECK_TYPE>необязательный

Пропустить проверку типов. Если указано значение "remote", диагностические ошибки удаленных модулей будут игнорироваться.

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

--frozen<BOOLEAN>необязательный

Завершить работу с ошибкой, если lock-файл устарел.

--import-map<FILE>

Загрузить файл карты импорта из локального файла или удаленного URL-адреса.

--lock<FILE>необязательный

Проверить указанный lock-файл. (Если значение не задано, по умолчанию используется "./deno.lock".)

--no-lock

Отключить автоматический поиск lock-файла.

--no-npm

Не разрешать npm-модули.

--no-remote

Не разрешать удаленные модули.

--node-modules-dir<MODE>необязательный

Выбирает режим каталога node_modules для npm-пакетов (не путь). Возможные значения: auto (создать локальный каталог node_modules и установить в него npm-пакеты), manual (использовать существующий локальный каталог node_modules, не изменяя его), none (не использовать локальный каталог node_modules; разрешать npm-пакеты из глобального кэша). Если флаг передан без значения, по умолчанию используется auto.

--node-modules-linker<MODE>

Задает режим компоновщика для npm-пакетов (изолированный или поднятый в корень).

--reload, -r<CACHE_BLOCKLIST>необязательный

Перезагрузить кэш исходного кода (повторно скомпилировать TypeScript). Если значение не задано, перезагружается всё. Передайте список спецификаторов, разделенных запятыми, чтобы перезагрузить только указанные модули; npm: перезагружает все npm-модули; npm:chalk перезагружает один npm-модуль; jsr:@std/http/file-server,jsr:@std/assert/assert-equals перезагружает указанные модули.

--vendor<vendor>необязательный

Включает или отключает использование локальной папки vendor для удаленных модулей и папки node_modules для npm-пакетов.

Параметры

--allow-import, -I<IP_OR_HOSTNAME>необязательный

Разрешить импорт с удаленных узлов. При необходимости укажите разрешенные IP-адреса и имена узлов, а также порты. Значения по умолчанию: deno.land:443,jsr.io:443,esm.sh:443,raw.esm.sh:443,cdn.jsdelivr.net:443,raw.githubusercontent.com:443,gist.githubusercontent.com:443.

--allow-scripts<PACKAGE>необязательный

Разрешить выполнение скриптов жизненного цикла npm для указанных пакетов. Примечание: скрипты выполняются только при использовании каталога node_modules (--node-modules-dir).

--cert<FILE>

Загрузить центр сертификации из файла в формате PEM.

--code-splitting

Включить разделение кода.

--conditions<conditions>

Используйте этот аргумент, чтобы задать пользовательские условия для экспортов npm-пакетов. Также можно использовать переменную среды DENO_CONDITIONS. .

--config, -c<FILE>

Настроить различные аспекты Deno, включая TypeScript, линтинг и форматирование кода. Обычно файл конфигурации называется deno.json или deno.jsonc и определяется автоматически; в этом случае флаг не требуется.

--declaration

Создать файлы объявлений .d.ts вместе со сборкой.

--deny-import<IP_OR_HOSTNAME>необязательный

Запретить импорт с удаленных узлов. При необходимости укажите запрещенные IP-адреса и имена узлов, а также порты.

--env-file<FILE>необязательный

Загрузить переменные среды из локального файла. Используется только первая переменная среды с заданным ключом. Существующие переменные среды процесса не перезаписываются, поэтому, если в среде уже есть переменные с теми же именами, их значения сохраняются. Если в файле .env указано несколько объявлений одной переменной среды, применяется первое из них. Порядок определяется последовательностью файлов, переданных в аргументах.

--external<external>
--format<format>
--inline-imports<inline-imports>необязательный

Встраивать ли импортированные модули в импортирующий файл [по умолчанию: true]

--keep-names

Сохранить имена функций и классов.

--minify

Минифицировать выходные данные.

--minimum-dependency-age<minimum-dependency-age>

(Нестабильный) Возраст в минутах, продолжительность в формате ISO-8601 или абсолютная временная метка RFC3339 (например, '120' — два часа, 'P2D' — два дня, '2025-09-16' — дата отсечения, '2025-09-16T12:00:00+00:00' — время отсечения, '0' — отключить).

--no-config

Отключить автоматическую загрузку файла конфигурации.

--outdir<outdir>

Каталог для выходных файлов сборки.

--output, -o<output>

Путь к выходному файлу`.

--packages<packages>

Способ обработки пакетов. Допустимые значения: 'bundle' или 'external'.

--platform<platform>

Платформа, для которой выполняется сборка. Допустимые значения: 'browser' или 'deno'.

--sourcemap<sourcemap>необязательный

Создать карту исходного кода. Допустимые значения: 'linked', 'inline' или 'external'.

--watch

Отслеживать изменения и выполнять повторную сборку.

Последнее обновление: 24 июня 2026 г.

© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/reference/cli/bundle

Spec-Zone.ru

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