集成 Vite 前端开发环境

v0.2.18 2024-08-22 00:31 UTC

README

PHP from Packagist Latest Version Total Downloads GitHub Workflow Status PHPStan License

集成 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