Nacitani aktualnich souboru .js a .css na localu
- JZechy
- Člen | 161
@vosy CSS a JS si prohlížeč běžně cachuje, proto když ho změníš, tak většinou se nic nemění.
Řešení je přidat k tomu souboru parametr, například v práci máme v konfiguráku proměnou určující aktuální verzi, po každé, co upgradujeme, měníme tuto proměnou dle verze. Ta je v @layout.latte vypsaná ke všem CSS a JS stylem:
<link href=„style.css?v={$revision}“>
Jak dojde ke změně parametru, stáhne se nový CSS i JS.
A nebo můžeš použít třeba webloader komponentu, ta to parametrizuje automaticky a při každé změně cache se tak stahují aktuální styly a skripty.
Editoval JZechy (20. 3. 2017 21:16)
- Rob Bob
- Člen | 60
Myiyk napsal(a):
U css a js souborů jako verzi dávám datum úpravy souboru.
Sice se musí zjistit to datum, ale odpadá nutnost uprovavat nějakou verzi a není tedy možné na to zapomenout.
Při každém requestu? To se mi zdá jako zbytečně velká režie. Dal bych to např. jednorázově do nějakého deploy scriptu
- GEpic
- Člen | 566
Rob Bob napsal(a):
Myiyk napsal(a):
U css a js souborů jako verzi dávám datum úpravy souboru.
Sice se musí zjistit to datum, ale odpadá nutnost uprovavat nějakou verzi a není tedy možné na to zapomenout.
Při každém requestu? To se mi zdá jako zbytečně velká režie. Dal bych to např. jednorázově do nějakého deploy scriptu
Na vývoji si můžeš dát za ? aktuální timestamp, na produkci poté můžeš upravovat verze za ? třeba v configu nebo v nějakém adminu, nebo si někde uchovávat datum posledního deploye, to už je na tvé fantazii.
Editoval GEpic (21. 3. 2017 11:33)
- Zuben45
- Člen | 268
V develop modu používám jak psal @Myiyk datum úpravy souboru.
cca takto:
{$basePath}/css/style.min.css?{filemtime(WWW_DIR.'/css/style.min.css')}
Mám v plánu si přidat filter pro styl, který by detekoval dev a production mod, a podle toho zadal bud filemtime a nebo cislo/nazev verze :)
- ali
- Člen | 342
@CZechBoY no jelikoz kopiruju nastavene soubory z jedne slozky do www foldru, tak ten filemtime je v mem pripade nepouzitelny.
- Nicmene jsem si to zmeril, a rozdil zas tak markantni neni
- pri pouziti filemtime: ~0.010ms
- pri pouziti file_md5: ~0.012ms
- Kontrolovane soubory
- normalize.css
- bootstrap.min.css
- font-awesome.min.css
- jquery.min.js
- tether.min.js
- bootstrap.min.js
- nette.ajax.js
- netteForms.min.js
- plus font soubory z font awesome
Editoval ali (22. 3. 2017 5:54)
- GEpic
- Člen | 566
ali napsal(a):
@CZechBoY no jelikoz kopiruju nastavene soubory z jedne slozky do www foldru, tak ten filemtime je v mem pripade nepouzitelny.
- Nicmene jsem si to zmeril, a rozdil zas tak markantni neni
- pri pouziti filemtime: ~0.010ms
- pri pouziti file_md5: ~0.012ms
- Kontrolovane soubory
- normalize.css
- bootstrap.min.css
- font-awesome.min.css
- jquery.min.js
- tether.min.js
- bootstrap.min.js
- nette.ajax.js
- netteForms.min.js
- plus font soubory z font awesome
Knihovny, které neměníme (jQuery, bootstrap.js, atp.) načítáme rovnou z CDN serverů, není potřeba je na každý projekt stahovat.