Parcel использует командную строку как основной способ управления процессом сборки и разработки. Флаги позволяют управлять поведением бандлера без изменения конфигурационных файлов, что особенно важно для быстрого переключения между режимами разработки, тестирования и production-сборки.
CLI-команды Parcel обычно имеют форму:
parcel serve <entry>parcel build <entry>parcel watch <entry>Поведение каждой команды модифицируется набором параметров, влияющих на сервер разработки, систему кэширования, оптимизацию, вывод файлов и работу с окружением.
Сервер разработки в Parcel предназначен для локального запуска приложения с поддержкой HMR (Hot Module Replacement), автоматического обновления страницы и диагностики ошибок.
–port
Определяет порт, на котором запускается dev-сервер.
Пример:
parcel serve index.html --port 3000
Используется при конфликте стандартного порта или при необходимости стандартизировать окружение.
–host
Задает хост, на котором доступен сервер.
parcel serve index.html --host 0.0.0.0
Позволяет открыть доступ к dev-серверу в локальной сети.
–open
Автоматически открывает приложение в браузере после запуска сервера.
parcel serve index.html --open
Используется в сценариях ускоренного старта разработки.
–https
Запускает сервер с HTTPS.
parcel serve index.html --https
Полезно при разработке приложений, требующих защищённого контекста (service workers, некоторые API браузера).
Дополнительно могут использоваться:
--cert--keyдля указания сертификата и ключа.
–no-hmr
Отключает Hot Module Replacement.
parcel serve index.html --no-hmr
Применяется при отладке поведения полного перезагрузочного цикла приложения.
Команда сборки формирует production-ready артефакты: минифицированные, оптимизированные и разделённые на чанки файлы.
–dist-dir (-d)
Задает директорию вывода собранных файлов.
parcel build index.html --dist-dir build
Позволяет отделить исходный код от результата сборки.
–public-url
Определяет базовый путь, по которому будут доступны ресурсы после деплоя.
parcel build index.html --public-url /app/
Используется при размещении приложения не в корне домена.
–target
Указывает целевую платформу сборки.
parcel build index.html --target browser
Parcel может собирать код под разные окружения (браузер, Node.js, библиотека).
–no-minify
Отключает минификацию кода.
parcel build index.html --no-minify
Используется при анализе output или отладке production-сборки.
–no-source-maps
Отключает генерацию source maps.
parcel build index.html --no-source-maps
Снижает размер выходных файлов и ускоряет сборку.
–mode
Определяет режим сборки: development или
production.
parcel build index.html --mode production
Режим влияет на оптимизации, уровень логирования и включение дополнительных проверок.
Parcel активно использует кэш для ускорения повторных сборок.
–cache-dir
Определяет директорию хранения кэша.
parcel build index.html --cache-dir .parcel-cache
Позволяет изолировать кэш между проектами.
–no-cache
Полностью отключает кэширование.
parcel build index.html --no-cache
Используется при диагностике ошибок сборки, связанных с устаревшими артефактами.
–no-optimize
Отключает все этапы оптимизации.
parcel build index.html --no-optimize
Влияет на:
Используется для отладки промежуточного кода.
–experimental-scope-hoist
Включает экспериментальную оптимизацию объединения модулей в единый scope.
parcel build index.html --experimental-scope-hoist
Может увеличивать производительность, но используется с осторожностью из-за возможных несовместимостей.
–define
Позволяет подменять глобальные значения во время сборки.
parcel build index.html --define process.env.NODE_ENV=production
Используется для:
–env-prefix
Указывает префикс переменных окружения, которые Parcel будет автоматически подхватывать.
parcel build index.html --env-prefix APP_
Все переменные с указанным префиксом становятся доступными в коде.
–log-level
Управляет уровнем логов:
noneerrorwarninfoverboseparcel serve index.html --log-level verbose
Используется при диагностике сложных ошибок сборки и зависимостей.
–host и –port в сочетании позволяют полностью контролировать сетевую доступность приложения, включая запуск в контейнерах и виртуальных машинах.
Дополнительно в некоторых конфигурациях используется:
Parcel может автоматически устанавливать недостающие зависимости во время сборки.
–no-autoinstall
Отключает автоматическую установку пакетов.
parcel build index.html --no-autoinstall
Используется в корпоративных окружениях с жёстким контролем зависимостей.
Флаги Parcel не изолированы и часто влияют друг на друга:
--no-minify и --mode production могут
конфликтовать по смыслу оптимизации--define переопределяет значения до этапа
tree-shaking--dist-dir влияет на структуру public-url при
деплоеКомбинации флагов позволяют формировать строго определённые сценарии сборки, от лёгкой разработки до полностью оптимизированного production-бандла.