elfsundae / laravel-asset-version
Laravel static assets versioning via query string: `app.js` → `app.js?d41d8cd98f`
Requires
- php: >=5.6.4
- illuminate/support: ~5.0
This package is auto-updated.
Last update: 2024-11-29 05:32:40 UTC
README
Laravel static assets versioning via query string: app.js
→ app.js?d41d8cd98f
.
Installation
$ composer require elfsundae/laravel-asset-version
For Lumen or earlier Laravel than v5.5, you need to register the service provider manually:
ElfSundae\Laravel\AssetVersion\AssetVersionServiceProvider::class,
Configuration
First you need to create an asset version configuration file located at config/asset-version.php
, filled with assets paths. Or you may run the asset-version:update
artisan command to create this file:
<?php return [ 'css/app.css', 'js/app.js', 'images/foo.png', ];
Then you can run the asset-version:update
command to update the asset version configuration:
$ php artisan asset-version:update
Now the configuration file might be:
<?php return array ( 'css/app.css' => '3ede8f2085', 'js/app.js' => '2eaf111399', 'images/foo.png' => 'd41d8cd98f', );
⚠️ You need to run the asset-version:update
command every time you changed any asset content. You may call this command in your assets build script, e.g. Laravel Elixir:
elixir((mix) => { mix.sass('app.scss') .webpack('app.js') .exec('php artisan asset-version:update'); });
For Laravel Elixir, you can use
laravel-elixir-asset-version
NPM package to easily execute update.
Usage
You can get the versioned asset path using the asset_path()
helper function:
asset_path('css/app.css'); // "/css/app.css?3ede8f2085" <link href="{{ asset_path('js/app.js') }}" rel="stylesheet">
License
This package is open-sourced software licensed under the MIT License.