Laravel Assets management
Installation
composer require iracode/assets
For version <= 5.4:
Add to section providers
of config/app.php
:
// config/app.php
'providers' => [
...
Iracode\Assets\Providers\AssetsServiceProvider::class,
];
And add to aliases
section:
// config/app.php
'aliases' => [
...
'Assets' => Iracode\Assets\Facades\AssetsFacade::class,
];
All assets resource will be manage in config file so we need to publish config to use.
php artisan vendor:publish --provider="Iracode\Assets\Providers\AssetsServiceProvider" --tag=config
Add to your master layout view, in head
tag:
{!! \Assets::renderHeader() !!}
and before body
tag close:
{!! \Assets::renderFooter() !!}
Methods
Add scripts
\Assets::addScripts(['key-of-assets-in-config-file']);
Example:
\Assets::addScripts(['app', 'bootstrap', 'jquery']);
Add styles
\Assets::addStyles(['key-of-assets-in-config-file']);
Example:
\Assets::addStyles(['bootstrap', 'font-awesome']);
Remove scripts
\Assets::removeScripts(['key-of-assets-in-config-file']);
Example:
\Assets::removeScripts(['bootstrap']);
Remove styles
\Assets::removeStyles(['key-of-assets-in-config-file']);
Example:
\Assets::removeStyles(['font-awesome']);
Others
- Set version for assets. Add to
.env
ASSETS_VERSION=1.0
Then all assets will be added ?v=1.0
- Change to online mode
ASSETS_OFFLINE=false
Then assets will be loaded from CDN if it's defined in config file.
- To disable versioning:
ASSETS_ENABLE_VERSION=false