carbdrox/pimcore-vite-bundle

Pimcore Vite 集成

1.0.7 2024-04-12 11:26 UTC

This package is auto-updated.

Last update: 2024-09-12 12:36:27 UTC


README

Total Downloads Latest Version Software License

此扩展包为您的 Pimcore 项目添加了一个服务,该服务可以解析 vite 资产。

安装

使用 composer

composer require carbdrox/pimcore-vite-bundle

启用扩展包

bin/console pimcore:bundle:enable ViteBundle

使用方法

要在 twig 模板中解析 vite 资产,可以使用函数 vite('asset/path'),它接受资产路径作为参数。

<link rel="stylesheet" href="{{ vite('assets/scss/app.scss') }}"/>

<script type="module" defer src="{{ vite('assets/js/app.js') }}"></script>

如果需要在 PHP 代码中解析资产,则需要注入服务 \ViteBundle\Services\ViteService::class,然后可以使用该服务中的方法 getAsset('asset/path'),它也接受资产路径作为参数。

class DefaultController extends FrontendController
{
    public function defaultAction(\ViteBundle\Services\ViteService $viteService)
    {
        $path = $viteService->getAsset('assets/js/app.js')
    }
}

如果您想使用热重载功能,需要在 twig 模板的底部插入以下代码片段。
这将插入 vite 所需的脚本,以启用热重载。
如果 APP_ENV 是 'dev' 且模板未处于编辑模式,则仅插入脚本标签。

    {{ viteReload(editmode) | raw }}
    </body>
</html>

配置

自动 vite 配置

强烈建议使用 pimcore-vite-plugin 与此扩展包结合使用。这将配置 vite 以与该扩展包协同工作。

手动 vite 配置

如果您喜欢自己编写 vite 配置,则需要提供一些文件以确保此扩展包正确工作。

此扩展包要求您提供一个 manifest.json 文件,其中包含所有资产路径,以 vite 路径为键。此 manifest.json 将从 public/build/manifest.json` 加载。

如果您想使用热重载功能,需要在您的公共文件夹中提供名为 vite-serve 的文件,每次您的 vite 开发服务器运行时。
此文件必须包含您的 vite 开发服务器的 URL,例如 https://:5173。该文件不得包含任何其他文本或空白字符。

贡献

感谢您考虑做出贡献!贡献指南可以在 CONTRIBUTING.md 中找到。

行为准则

请查阅并遵守 行为准则

许可证

Pimcore Vite 扩展包根据 MIT 许可证 许可。