# Cache Busting Analyzer PRO
Category | Severity | Time To Fix |
---|---|---|
✅ Reliability | Major | 5 minutes |
Class: Enlightn\EnlightnPro\Analyzers\Reliability\CacheBustingAnalyzer
# Introduction
This analyzer confirms that your application uses cache busting for your assets.
When a static file gets cached it can be stored for very long periods of time before it ends up expiring (depending on your browser version and cache headers if any). So, your customers might still be served stale versions of your application assets without cache busting.
Cache busting forces browsers to load fresh assets instead of serving stale copies of the code by using a unique file version identifier to tell the browser that a new version of the file is available. This is built-in with Laravel Mix.
# How To Fix
The Laravel Mix version
method appends a unique hash to the filenames of all compiled files for cache busting. To fix the issue, simply add the version
method to your webpack.mix.js
file:
mix.js('resources/js/app.js', 'public/js')
.version();
After generating the versioned file, you may use the mix
helper method within your views to load the appropriately hashed asset:
<script src="{{ mix('/js/app.js') }}"></script>
# Skip Condition
This analyzer is skipped for local environments (if the skip_env_specific
configuration option is set to true) or if your application does not use Laravel Mix.