nuckty
EN
Все разделы →

nuckty-ext-command-serve

Локальная раздача собранного сайта через nginx с сгенерированной конфигурацией. Команды nuckty serve и nuckty stop.

Тип

command — добавляет команды serve и stop через env.commands.

Что делает

nuckty serve [target] [--port N]:

  1. Выбирает таргет и проверяет его каталог HTML и созданный сборкой файл .build/nginx.conf.
  2. Находит nginx в PATH.
  3. Записывает .build/nginx-serve.conf для этого артефакта и порта (8080 по умолчанию).
  4. Запускает nginx на переднем плане с адресом 127.0.0.1.

nuckty stop читает .build/nginx.pid, дважды проверяет команду и время запуска процесса и отправляет kill -QUIT только распознанному экземпляру. Очистка сборки сохраняет PID, конфигурацию запущенного сервера и журналы предпросмотра. Чужой, повторно использованный или некорректный PID приводит к отказу без сигнала.

Демон vnu завершает само расширение проверки после nuckty validate.

Зачем отслеживать PID

На машине разработчика может работать другой nginx — системный или для других проектов. Поэтому nuckty stop использует сохранённый PID и проверяет идентичность процесса перед остановкой; при несовпадении отказывается его завершать.

Локальная раздача

Конфигурация просмотра использует генератор ядра для маршрутизации, сжатия и выбора изображений. Она создаётся заново: изменения nginx.conf хуками сборки и правила Apache автоматически не переносятся. Проверка локального nginx не подтверждает настройку сервера в продакшене.

Без имени выбирается первый таргет. Порт — целое число от 1 до 65535. Команда работает на переднем плане; nuckty stop запускают из второго терминала в том же каталоге. Требуются инструменты POSIX; Windows без окружения POSIX не проверена.

Только для разработки

Установите расширение как зависимость для разработки (devDependency) для локального просмотра. В CI оно также может использоваться для интеграционных проверок через настоящий nginx.

Установка

Пример продолжает быстрый старт со стандартным обработчиком nuckty-ext-block-root. Добавьте новое расширение в ext глобального config/config-nuckty.ts, сохранив остальные записи. Если обработчик документа собственный, оставьте его вместо nuckty-ext-block-root.

Установите подготовленный пакет из каталога packages/ распакованного стартового проекта:

npm install --save-dev ./packages/nuckty-ext-command-serve-1.0.0-beta1.tgz
import { defineNucktyConfig } from 'nuckty';

export default defineNucktyConfig({
    targets: { main: { configDir: 'config/', outDir: 'site/' } },
    ext: ['nuckty-ext-block-root', 'nuckty-ext-command-serve'],
});

Для работы требуется nginx в PATH (локально — через Homebrew или системную установку).