deno serve
Использование в командной строке
deno serve [OPTIONS] [SCRIPT_ARG]...Запуск сервера, определённого в основном модуле
Команда serve использует стандартную экспортную часть основного модуля, чтобы определить, какие серверы следует запустить.
Запуск сервера, определённого в server.ts:
deno serve server.ts
Запуск сервера, определённого в server.ts, с отслеживанием изменений и запуском на порту 5050:
deno serve --watch --port 5050 server.ts
Параметры проверки типов
--check
Включить проверку типов. Данная подкоманда по умолчанию не выполняет проверку типов. Если указано значение «all», удалённые модули также будут включены. В качестве альтернативы можно использовать подкоманду «deno check».
--no-check
Пропустить проверку типов. Если указано значение «remote», диагностические ошибки из удалённых модулей будут игнорироваться.
Параметры управления зависимостями
--cached-only
Требовать, чтобы удалённые зависимости уже были кэшированы.
--frozen
Выдать ошибку, если файл блокировки устарел.
--import-map
Загрузить файл карты импорта из локального файла или удалённого URL.
--lock
Проверить указанный файл блокировки. (Если значение не указано, по умолчанию используется "./deno.lock").
--no-lock
Отключить автоматическое обнаружение файла блокировки.
--no-npm
Не разрешать модули npm.
--no-remote
Не разрешать удалённые модули.
--node-modules-dir
Устанавливает режим управления node_modules для пакетов npm.
--reload
Короткая опция: -r
Перезагрузить кэш исходного кода (перекомпилировать TypeScript) без значения Перезагрузить всё jsr:@std/http/file-server,jsr:@std/assert/assert-equals Перезагружает определённые модули npm: Перезагрузить все модули npm npm:chalk Перезагрузить определённый модуль npm.
--vendor
Включает/выключает использование локальной папки vendor для удалённых модулей и папки node_modules для пакетов npm.
Опции
--allow-scripts
Разрешить выполнение скриптов жизненного цикла npm для заданных пакетов Примечание: Скрипты будут выполняться только при использовании каталога node_modules (--node-modules-dir).
--cert
Загрузить центр сертификации из файла в формате PEM.
--config
Короткая опция: -c
Настройка различных аспектов deno, включая TypeScript, проверки кода и форматирования. Обычно файл конфигурации называется deno.json или deno.jsonc и автоматически обнаруживается; в этом случае этот флаг не нужен.
--env-file
Загрузить переменные окружения из локального файла Используется только первая переменная окружения с заданным ключом. Существующие переменные окружения процесса не перезаписываются, поэтому, если переменные с одинаковыми именами уже существуют в окружении, их значения сохранятся. Если в вашем файле .env присутствует несколько объявлений для одной и той же переменной окружения, применяется первое встреченное. Это определяется порядком файлов, которые вы передаёте в качестве аргументов.
--ext
Установить тип содержимого предоставленного файла.
--host
TCP-адрес для запуска сервера, по умолчанию 0.0.0.0 (все интерфейсы).
--location
Значение globalThis.location, используемое некоторыми веб-API.
--no-code-cache
Отключить функцию кэша кода V8.
--no-config
Отключить автоматическую загрузку файла конфигурации.
--parallel
Запустить несколько рабочих процессов сервера параллельно. Параллелизм по умолчанию равен количеству доступных процессоров или значению переменной окружения DENO_JOBS.
--port
TCP-порт для запуска сервера. Передайте 0, чтобы выбрать случайный свободный порт [по умолчанию: 8000]
--seed
Установить начальное значение генератора псевдослучайных чисел.
--v8-flags
Чтобы увидеть список всех доступных флагов, используйте --v8-flags=--help Флаги также можно задать через переменную окружения DENO_V8_FLAGS. Любые флаги, заданные с помощью этого флага, добавляются после переменной окружения DENO_V8_FLAGS.
Опции отладки
--inspect
Активировать инспектор на хосте:порту [по умолчанию: 127.0.0.1:9229]
--inspect-brk
Активировать инспектор на хосте:порту, подождать подключения отладчика и прерваться в начале пользовательского скрипта.
--inspect-wait
Активировать инспектор на хосте:порту и подождать подключения отладчика перед запуском пользовательского кода.
Опции отслеживания файлов
--hmr
Отслеживать изменения файлов и автоматически перезапускать процесс. Локальные файлы из графа модулей точки входа отслеживаются по умолчанию. Дополнительные пути могут быть отслежены, передав их в качестве аргументов этому флагу.
--no-clear-screen
Не очищать экран терминала при режиме наблюдения.
--watch
Отслеживать изменения файлов и автоматически перезапускать процесс. Локальные файлы из графа модулей точки входа отслеживаются по умолчанию. Дополнительные пути могут быть отслежены, передав их в качестве аргументов этому флагу.
--watch-exclude
Исключить указанные файлы/шаблоны из режима отслеживания.
Пример
Вот пример того, как создать простой HTTP-сервер с декларативным fetch:
export default {
async fetch(_req) {
return new Response("Hello world!");
},
};
Затем вы можете запустить сервер, используя команду deno serve:
deno serve server.ts
Логика внутри функции fetch может быть настраиваемой, чтобы обрабатывать различные типы запросов и соответственно отображать контент:
export default {
async fetch(request) {
if (request.url.startsWith("/json")) {
return Response.json({ hello: "world" });
}
return new Response("Hello world!");
},
};
© 2018–2024 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/reference/cli/serve