carbdrox / pimcore-vite-bundle
Pimcore Vite 集成
1.0.7
2024-04-12 11:26 UTC
Requires
- pimcore/pimcore: >=10.0 <12.0
README
此扩展包为您的 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 许可证 许可。