motomedialab / laravel-vite-helper
一个辅助方法,用于生成到 Vite 资产的绝对 URL
v1.7.0
2024-03-14 20:01 UTC
Requires
- php: ^8.0
- laravel/framework: ^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- mockery/mockery: ^1.5
- orchestra/testbench: ^6.0|^7.0|^8.0|^9.0
- phpunit/phpunit: ^8.5.8|^9.5.21|^10.0.7|^10.5|^11.0
This package is auto-updated.
Last update: 2024-09-14 21:03:57 UTC
README
Laravel 的一个超级简单的辅助方法,用于填补 Laravel Mix 留下的空白。Mix 有一个名为 mix()
的辅助方法,可以返回 mix 资源的绝对 URL。随着 Vite(自 Laravel 9.19 版本起)的引入,没有与之等效的功能,至少直到现在还没有。
这最初是一个提交到 Laravel 核心框架的 PR,但不幸的是,没有被认定为必要添加。
安装
您可以通过 composer 安装此包
composer require motomedialab/laravel-vite-helper
使用方法
此辅助方法的使用非常简单,直接替换了 Laravel 的 mix()
辅助方法。
// will return the absolute compiled asset path for 'resources/css/app.css' vite('resources/css/app.css'); // will return the absolute compiled asset path for // 'resources/css/app.css' with custom build directory 'dist' vite('resources/css/app.css', 'dist'); // the third argument enforces a relative path to be returned vite('resources/css/app.css', 'build', true); // the final argument allows you to force disable hot server mode and always return the manifest path vite('resources/css/app.css', 'build', true, true); // you can also use named arguments as below vite('resources/css/app.css', buildDirectory: 'dist', relative: true, hotServer: true); // and even supply an array to get an array of paths/URLs vite(['resources/css/app.css', 'resources/js/app.js']);
在测试中进行模拟
如果您没有可用的编译后的资产(例如,在 CI/CD 流中),则使用此辅助方法可能会导致一些直接与您的网页交互的测试失败。
为了克服这个问题,有一个 MocksViteHelper
特性可以在您的测试中使用
class ExampleTest extends TestCase { use MocksViteHelper; public function a_request_to_a_view_using_vite_helper() { $this->withoutViteHelper(); $response = $this->get('/'); $response->assertStatus(200); } public function restore_vite_helper_functionality() { $this->withViteHelper(); $response = $this->get('/'); $response->assertStatus(500); } }
测试
composer test
变更日志
请参阅 CHANGELOG 以获取有关最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件 chris@motocom.co.uk 联系,而不是使用问题跟踪器。
鸣谢
许可
MIT 许可证 (MIT)。请参阅 许可文件 以获取更多信息。
Laravel 包模板
此包是使用 Laravel 包模板 生成的。