decodelabs / zest
集成 Vite 前端开发环境
v0.2.18
2024-08-22 00:31 UTC
Requires
- php: ^8.1
- decodelabs/archetype: ^0.3.6
- decodelabs/clip: ^0.3.4
- decodelabs/collections: ^0.9
- decodelabs/exceptional: ^0.4.3
- decodelabs/genesis: ^0.9
- decodelabs/lucid: ^0.4.7
- decodelabs/overpass: ^0.2.6
- decodelabs/terminus: ^0.10
- decodelabs/veneer: ^0.11.6
Requires (Dev)
- ext-pcntl: *
- decodelabs/phpstan-decodelabs: ^0.6.1
README
集成 Vite 前端开发环境
Zest 提供了一个简化和具有个人观点的 PHP 面向的 Vite 开发环境入口点。
在 DecodeLabs 博客 上获取新闻和更新。
安装
通过 Composer 安装
composer require decodelabs/zest
用法
Zest 旨在提供一个简单自动化的方式,将 Vite 开发服务器集成到您的 PHP 应用程序中。
所有终端命令假设您已安装并启用了 Effigy。
cd my-project
effigy zest init
此命令将初始化一个 Vite 配置文件,在 package.json 文件中安装您最初需要的所有内容,并运行开发服务器。按 ctrl+c
退出服务器。
从那时起
# Run the dev server effigy zest dev # Or build the static files effigy zest build
构建将在关闭开发服务器时自动触发。
查看消耗
要使用 Zest,您需要从您的视图中消耗由清单生成的资源。目前,没有预构建的视图适配器(那里有许多不同的视图库!),但是您可以像这样适配您使用的适配器
use DecodeLabs\Genesis; use DecodeLabs\Zest\Manifest; class ViewPlugin { public function apply(View $view): void { $manifest = Manifest::load( Genesis::$hub->getApplicationPath() . '/my-theme/manifest.json' ); foreach ($manifest->getCssData() as $file => $attr) { /** * @var string $file - path to file * @var array $attr - array of tag attributes */ $view->addCss($file, $attr); } foreach ($manifest->getHeadJsData() as $file => $attr) { $view->addHeadJs($file, $attr); } foreach ($manifest->getBodyJsData() as $file => $attr) { $view->addFootJs($file, $attr); } if ($manifest->isHot()) { $view->addBodyClass('zest-dev preload'); } } }
许可协议
Zest 使用 MIT 许可协议。有关完整许可协议文本,请参阅 LICENSE。