I am using Laravel to generate files for what would otherwise be inline JS and CSS.
The web.php configuration is:
Route::get('/js/words.js', function() { $words = Word::get(); return response()->view('words', compact('words'))->header('Content-Type', 'text/javascript'); });
When I deploy this to the server initially everything is fine. But then, when I add a simple CSS/JS caching policy to the Nginx configuration, the generated CSS/JS breaks.
The Nginx configuration is:
location ~* .(css|js)$ { expires 30d; }
Does anybody else do this to avoid inline CSS/JS, and if so, how do you enable caching without breaking the generated files?
Advertisement
Answer
I’ve used it like this
location ~* .(?:css|js)$ { expires 365d; access_log off; add_header Cache-Control "public"; }
and make sure to restart the nginx server
sudo systemctl restart nginx