IPub\AssetsLoader – servírování statických souborů jednoduše
- akadlec
- Člen | 1326
Opět další extension která mi na předchozích projektech ulehčovala práci tentokráte se statickými soubory a nyní k dispozici pod nette. Chcete-li jendoduše řešit vkládání statických souborů do své aplikace, není nic jednoduššího než implementovat assets loader.
Co to umí?
- Zastřešuje kompletně práci se statickými soubory. Stačí je do této extension pouze vložit, případně aktivovat vybrané filtry a pak už vám bude aplikace servírovat jeden CSS soubor a jeden JS soubor.
- Všichni chtějí rychlost a tak i tato extension umožňuje definovat vlastní routu pro tyto statické soubory, takže vaše appka na doméně http://www.vaseappka.cz dokáže dávat k dispozici statiky na adrese http://cdn.vaseappka.cz a to díky routám.
- Pokud taky nechcete řešit kopírování statických souborů do document rootu, tak nyní již nemusíte, všechny statiky si můžete s klidem nechat ve vendor složce composeru, či app složce a jednotlivých modulech. Této extension je úplně jedno kde jsou, o jejich správne naservírování se postará sama a to nejen jak pro samotné CSS a JS ale také obrázky, fonty, atd.
- Máte vlastní extensiony co mají statiky a řešíte jak je dostat do stránky. Stačí využít StaticFilesProvider a je to, docela hračka
- A další featurka, balíčky. Máte appku rozdělenou na několik prostředí a všechny máte třeba na bootstrapu? Nemusíte složitě definovat X souborů několikrát dokolečka, stačí si vytvořit definici balíčku a tu pak předat vybraným assetům.
Samozřejmostí jsou taky filtry které provedou minifikaci či kompilaci vašich souborů a nebo si můžete definovat vlastní filtry.
Takže, kdo užije, směle do toho instalace jednoduchá a využívání bych řekl taky ;) Tipy a různé podněty jsou samozřejmě vítány.
- potapnik
- Člen | 127
Ještě jsem to nezkoušel, ale na první pohled to vypadá skoro indenticky jako Webloader. Když používám Webloader Honzy Marka, tak JS/CSS soubory hlásí 200 OK, rád bych ale 304 Not Modified, tohle AssetsLoader umí? A co srovnání výkonnosti? Ptám se, abych našel důvody používat AssetsLoader :-)
- Filip Procházka
- Moderator | 4668
@potapnik WebLoader vygeneruje soubory a to co s nimi udělá
webserver dále neřeší. To aby se ti správně cachovaly musíš nastavit
tedy v .htaccess
nebo v configu nginxu, podle toho co
používáš. Takové řešení bude samozřejmě mnohem výkonnější, než
posílat to přes PHP :)
- akadlec
- Člen | 1326
jop to souhlas, pokud ten soubor naserviruje přímo server bude to rychleší než startování phpka, appky atd. Ovšem má to právě ty negativa že obrázky, fonty, atd. musí být v docroot složce dostupné a nebo se nějak ošetřovat třeba htaccessem. Já jsem to chtěl mít jednodušší, říct tady máš csska a jska a poraď si s nima.
- Climber007
- Člen | 105
Hoj, jde nějak míchat s pořadím souborů a packages? Výchozí jsou nejdřív soubory a potom až balíky, což mi zrovna nevyhovuje. Díky
- Climber007
- Člen | 105
Zatím mi chybí jen to pořadí a potom možnost nastavení atributů
(media, type) ideálně přes konfigurák.
Jinak všechno funguje jak má :)
Editoval Climber007 (8. 7. 2015 12:59)
- Climber007
- Člen | 105
Mě napadlo, že by to mohlo být stejně zapsané jako „gzip“, který je taky pro každý jeden výstupní soubor.
- Climber007
- Člen | 105
Potom mě kdysi napadla ještě jedna věc, když jsem dělal s Webloaderem. Abys nemusel vytvářet dvě komponenty (CSS a JS), dalo by se využít render metod komponenty a pomocí té dvojtečkové notace buď vracet CSSka nebo JS.
{control frontend:css}
{control frontend:js}
Co jsem se díval, tak myslím, že @FilipProcházka má někde vlastní implementaci těch render metod, ale uý nevím u čeho.
- basnik
- Člen | 3
Zdravím :)
V první řadě díky moc za skvělé rozšíření.
Narazil jsem na lehký problém. Z nějakého důvodu to po mě chce
definovat konstantu WWW_DIR
.
Děje se tak v src/IPub/AssetsLoader/Diagnostics/Panel.php
na
řádku 81. Přijde mi, že celý ten řádek tam je jaksi navíc :)
Tady kdyžtak nabízím PR.