Download the PHP package phpsoftbox/vite without Composer
On this page you can find all versions of the php package phpsoftbox/vite. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download phpsoftbox/vite
More information about phpsoftbox/vite
Files in phpsoftbox/vite
Package vite
Short Description Vite integration for the PhpSoftBox framework
License MIT
Informations about the package vite
Vite
Минимальный адаптер Vite для генерации тегов скриптов и стилей.
Использование
Dev-режим и production
Dev-режим (теги dev-server, @vite/client, React Refresh) включается так:
- если передан
dev: true|false— используется он (рекомендуется: например,dev: !$applicationEnvironment->isProductionLike()или отдельный ключ конфигурации); - иначе dev-режим включён только для окружений из белого списка
Vite::DEV_ENVIRONMENTS:dev,development,local,test,testing(без учёта регистра). Любое другое окружение (prod,production,staging, ...) — build-режим.
В dev-режиме URL dev-server берётся из devServer, а если он не задан — из hot-файла.
Если ни то ни другое не задано, используется build-режим (manifest).
До 1.0 dev-режимом считалось любое окружение, кроме
prod, поэтому наproduction/stagingвыводились теги dev-server.
Что умеет
- dev‑сервер: подключает
@vite/clientи entrypoint. - build‑режим: читает
manifest.json, подключает JS/CSS, CSS imported chunks иmodulepreloadдля статических imports. - CSS-entrypoint (
.css,.scss,.less,.styl,.pcss, ...) и в dev, и в build-режиме подключается как<link rel="stylesheet">, а не как<script type="module">. version()— md5 отmanifest.jsonдля Inertia asset versioning; вычисляется один раз на экземплярVite(в worker'е manifest меняется только при деплое с перезапуском). В dev-режиме возвращаетdev.reactRefreshPreamble()— inline-скрипт React Refresh; URL dev-server экранируется (JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT) для безопасной вставки в<script>.- SSR runtime: хранит endpoint SSR-сервера, SSR entrypoint и timeout.
Production manifest
В build-режиме компонент читает manifest, который генерирует Vite.
Для каждого entrypoint подключается основной JS-файл, его CSS, CSS
статически импортированных chunks и modulepreload для этих chunks.
Если entrypoint импортирует общий bundle, итоговый HTML будет включать примерно такой набор тегов:
CSS-entrypoint, собранный отдельно (input: ['resources/js/app.tsx', 'resources/css/admin.css']):
SSR runtime
Компонент Vite не рендерит Inertia сам. Он хранит runtime-настройки, которые приложение может передать SSR renderer-у:
Доступные методы:
devServerUrl()— URL Vite dev-server в dev-режиме илиnull;isDev()— явный флагdevили окружение изVite::DEV_ENVIRONMENTS;ssrEnabled()—true, если задан SSR endpoint;ssrUrl()— нормализованный URL SSR endpoint;ssrEntry()— entrypoint SSR bundle;ssrTimeout()— timeout HTTP SSR запроса.
Recipe: React + Inertia + ReactSoftBox
Рекомендуемая структура frontend entrypoint:
resources/js/app.tsx:
vite.config.js должен указывать этот entrypoint:
Для разделения публичной части и админки используйте Inertia areas:
Web/* и Admin/* остаются в одном frontend entrypoint, а сервер выбирает
area по host/path через InertiaAreaConfig.