gymmed / bagisto-vite-parser
在 bagisto 项目中查找使用 vite laravel 库构建的文档的便捷方法。在使用 config/bagisto-vite 时,有助于找到 manifest.json。
dev-main
2024-09-30 13:25 UTC
This package is auto-updated.
Last update: 2024-09-30 14:14:24 UTC
README
Bagisto Vite 解析器

在 bagisto 项目中查找使用 vite laravel 库构建的文档的便捷方法。在配置 config/bagisto-vite 时,有助于找到 manifest.json。
安装
您可以通过 composer 安装此包
composer require gymmed/bagisto-vite-parser
使用场景
Dompdf 及其 Laravel 包装器,laravel-dompdf,仅支持直接 CSS 或外部 CSS 文件链接。然而,这些 CSS 文件需要真实的相对路径,而 Vite 在 Laravel 中使用哈希文件名以避免名称冲突。此库提供了一种简单的方法来从 config/bagisto-vite 中检索正确的 CSS 路径,专门为 Bagisto 设计,而不是为一般 Laravel 使用。
使用方法
在您的 config/bagisto-vite.php 中,在 viters 部分下为您的包添加一个新条目。示例
return [ 'viters' => [ ... 'myNamespace' => [ 'hot_file' => 'myNamespace-default-vite.hot', 'build_directory' => 'themes/myNamespace/default/build', 'package_assets_directory' => 'src/Resources/assets', ], ], ];
这应该与您包中的 laravel 插件 配置在 vite.config.js 中的配置相对应。示例
plugins: [ ... vue(), laravel({ hotFile: "../../../public/myNamespace-default-vite.hot", publicDirectory: "../../../public", buildDirectory: "themes/myNamespace/default/build", input: [ "src/Resources/assets/css/app.css", "src/Resources/assets/js/app.js", ], refresh: true, }), ],
为了获取文档的真实路径,我们编写
use GymMed\BagistoViteParser; //provide full path $viteDocumentsPaths = BagistoViteParser::getDocumentsPaths( [ 'src/Resources/assets/css/app.css', 'src/Resources/assets/js/app.js' ], 'myNamespace' );
返回的结果
array:2 [▼ 0 => "...\bagisto\public\themes/myNamespace/befault/build/assets/app-2bf84331.css" 1 => "...\bagisto\public\themes/myNamespace/default/build/assets/app-c35c0f3a.js" ]
然后您可以获取单个文档的路径
use GymMed\BagistoViteParser; //provide full path $viteDocumentsPaths = BagistoViteParser::getDocumentPath( 'src/Resources/assets/css/app.css', 'myNamespace' );