Spec-Zone.ru › Deno 2

deno desktop

Доступно в Deno 2.9

deno desktop доступен начиная с Deno v2.9.0. Если у вас более ранняя версия, обновите Deno, чтобы использовать его.

deno desktop компилирует проект Deno в автономное настольное приложение. Выходной бинарный файл объединяет ваш код, среду выполнения Deno и движок рендеринга в один переносимый исполняемый файл для каждой платформы.

›_
deno desktop main.ts
deno desktop --hmr main.ts
deno desktop --output MyApp.app main.ts

Точка входа необязательна. Если указать только deno desktop (или deno desktop .), будет обнаружен поддерживаемый фреймворк (Next.js, Astro, Fresh, React Router и другие) в текущем каталоге, а затем будет создана подходящая точка входа настольного приложения. Список поддерживаемых фреймворков и требования к каждому из них см. в разделе Фреймворки.

На этой странице описаны флаги командной строки. Полное руководство (движки, Deno.BrowserWindow, привязки, автоматическое обновление, DevTools и распространение) см. в разделе Настольные приложения.

Флаги среды выполнения

deno desktop принимает те же флаги среды выполнения и разрешений, что и deno run. Разрешения, предоставленные при компиляции, встраиваются в скомпилированный бинарный файл:

›_
deno desktop --allow-read --allow-net main.ts

Движок

--backend выбирает движок рендеринга. Принимаются значения webview (по умолчанию) или cef. Движок raw выбирается с помощью поля desktop.backend в deno.json. О компромиссах см. в разделе Движки.

›_
deno desktop --backend webview main.ts

Результат сборки

--output (-o) задаёт путь вывода; формат определяется расширением файла (.app, .dmg, .AppImage и так далее):

›_
deno desktop --output ./dist/MyApp.dmg main.ts

Используйте --icon, чтобы задать значок приложения (.ico в Windows, .icns или .png в macOS), а --include / --exclude — чтобы добавлять файлы в скомпилированный бинарный файл или удалять их из него. Эти параметры также можно настроить в deno.json; см. раздел Конфигурация.

Кросс-компиляция

--target выполняет сборку для другой платформы, а --all-targets — сразу для всех поддерживаемых платформ. На хосте не требуется устанавливать платформенные наборы инструментов:

›_
deno desktop --target aarch64-apple-darwin main.ts
deno desktop --all-targets main.ts

Список поддерживаемых целевых платформ и форматов вывода см. в разделе Распространение.

Разработка

--hmr запускает приложение с горячей заменой модулей во время разработки. См. раздел Горячая замена модулей.

›_
deno desktop --hmr main.ts

Флаги --inspect, --inspect-wait и --inspect-brk подключают отладчик к среде выполнения Deno и рендереру. --inspect-renderer переопределяет адрес, на котором рендерер CEF ожидает подключения отладчика. См. раздел DevTools.

Конфигурация

Большинство настроек можно указать в блоке desktop файла deno.json, а не передавать при каждой сборке:

deno.json
{
  "desktop": {
    "app": {
      "name": "MyApp",
      "identifier": "com.example.myapp",
      "icons": {
        "macos": "./icons/icon.icns",
        "windows": "./icons/icon.ico",
        "linux": "./icons/icon.png"
      }
    },
    "backend": "cef",
    "output": {
      "macos": "./dist/macos",
      "windows": "./dist/windows",
      "linux": "./dist/linux"
    },
    "release": { "baseUrl": "https://updates.example.com" },
    "errorReporting": { "url": "https://errors.example.com/report" }
  }
}

Полную схему см. в разделе Конфигурация.

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

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

Spec-Zone.ru

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