deno desktop
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, а не передавать при каждой сборке:
{
"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" }
}
}
Полную схему см. в разделе Конфигурация.
Последнее обновление:
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/reference/cli/desktop