A helper method to generate absolute asset URL's to Vite assets

v1.7.0 2024-03-14 20:01 UTC


Latest Version on Packagist Total Downloads GitHub Actions

A super simple Laravel helper to fill the void that Laravel Mix left. Mix had a helper, aptly named mix() that would return an absolute URL to the mix resource. With the introduction of Vite (as of Laravel 9.19), there is no equivalent for Vite, at least, until now.

This was originally submitted as a PR to the core Laravel framework, but unfortunately wasn't deemed as a necessary addition.


You can install the package via composer:

composer require motomedialab/laravel-vite-helper


The usage for this helper is extremely simple, and directly replaces Laravel's mix() helper.

// will return the absolute compiled asset path for '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']);

Mocking in your own tests

Using this helper may cause some tests that directly interact with your web pages to break if you don't have the compiled assets available (e.g. in a CI/CD flow).

To overcome this, there's a MocksViteHelper trait that can be used within your tests:

class ExampleTest extends TestCase
    use MocksViteHelper;
    public function a_request_to_a_view_using_vite_helper()

        $response = $this->get('/');

    public function restore_vite_helper_functionality()

        $response = $this->get('/');



composer test


Please see CHANGELOG for more information what has changed recently.


Please see CONTRIBUTING for details.


If you discover any security related issues, please email instead of using the issue tracker.



The MIT License (MIT). Please see License File for more information.

Laravel Package Boilerplate

This package was generated using the Laravel Package Boilerplate.