The Laravel mix version
task appends a unique hash to filename,
allowing for cache-busting.
For example, the generated file name will look something like:
all-16d570a7.css
.
In Laravel, you can use in your views the mix()
function to load
the appropriately hashed asset:
<link rel="stylesheet" href="{{ mix("css/all.css") }}">
This twig extension is an adaptation of this mix()
function.
You need PHP >= 7.0 to use the library, but the latest stable version of PHP is recommended.
Install using Composer:
composer require stormiix/laravel-mix-twig-extension:dev-master
This will edit (or create) your composer.json file and automatically choose the most recent version.
use Stormiix\Twig\Extension\MixExtension;
$mix = new MixExtension(
$publicDir, // the absolute public directory
$manifestName // the manifest filename (default value is 'mix-manifest.json')
);
$twig->addExtension($mix);
Refer to the original repo.
<link rel="stylesheet" href="{{ Mix('css/all.css') }}">
<script src="{{ Mix('js/all.js') }}"></script>
You can surround with the asset
twig extension to make your
application more portable:
<link rel="stylesheet" href="{{ asset(Mix('css/all.css')) }}">
<script src="{{ asset(Mix('js/all.js')) }}"></script>
-
Brieuc Thomas - Initial work - Elixir-twig-extension
-
Anas Mazouni - laravel-mix-twig-extension
This project is licensed under the MIT License - see the LICENSE.md file for details