Recenze WP Freshstart 5 - Vytvoření plně načtených stránek WordPress za 60 sekund.

Jsem si vědom řetězových kol pro kombinování souborů javascript, ale nezkoušel jsem to. Jaké jsou další možnosti a jak se skládají?

  • 2 I když to není skutečná odpověď, mohly by vás zajímat balíčky zdrojů: limi.net/articles/resource-packages Bohužel si myslím, že to ještě nikdo neimplementoval.

Napsal jsem obslužný program pro Asp.Net, který používá YUI ke kompresi, zřetězení a ukládání výstupu do mezipaměti.

Tady je zdroj: http://gist.github.com/130913

Tomuto problému jsem se již věnoval v jiné otázce

Při zpětném pohledu jsem se měl zeptat na webmastery namísto na stránku programátorů.

Máte 3 možnosti:

  1. Nechte to váš rámec zpracovat automaticky
  2. Nechte svůj webový server, aby to zpracoval automaticky
  3. Vyberte si vlastní možnost a proveďte to ručně

Možnost 1 (pomocí rozšíření CakePHP):

Stáhněte si a nainstalujte AssetPacker na své stránky (což také vyžaduje jsmin a CSSTidy). Upravte několik řádků zdroje, které obsahují soubory js. Praní -> Opláchnutí -> Opakujte. Voila, zbytek se provede automaticky za vás.

Je pravděpodobné, že pokud použijete nějaký jiný rámec, existuje nástroj, který to za vás splní. Ve světě webdev je to docela běžný požadavek.

Možnost 2 (pomocí modemu Apache):

Podívejte se na mod Google Pagespeed pro Apache. Dělá vše, co popíšete, a mnohem víc.

Nezapomeňte však sledovat prostředky svého produkčního serveru. Někteří lidé viděli problémy, kde to špatně zvyšuje zatížení jejich serveru. Nejsem pozitivní, ale může to vyžadovat dostatečnou strategii statického obsahu, aby byla efektivní volbou.

Možnost 3:

Pokud opravdu chcete, můžete vytvořit nějaké kouzlo PHP, které zřetězí stranu JS souborů serveru a spojí všechny odkazy rel do jednoho, ale ... Přesně to už obě strategie stejně dělají.

Osobně bych tuto možnost důrazně nedoporučoval.


Pokud vím, Sprockets zřetězuje soubory JS stejně jako AssetPacker, je to implementováno jako Ruby Gem. Nedělá to, že minifikuje kód js. Pokud jej tedy používáte, je pravděpodobně dobrý nápad chytit také drahokam jsmin. Informace o tom, jak používat Sprockets + JSMin v CakePHP, najdete zde.

Vím, že kladu důraz na CakePHP, ale ... Předpokládám, že pokud lze plugin přizpůsobit CakePHP, mělo by být triviální přizpůsobit jej také jinému rámci.

Rychlé vyhledávání na Googlu zjistí, že to kombinuje soubory CSS: http://www.tothepc.com/archives/combine-merge-multiple-css-files/

  • Bohužel C # není pro mé účely opravdu vhodný, ale doufejme, že z toho někdo bude mít prospěch

Jste si jisti, že je chcete kombinovat? Pokud používáte společnou knihovnu, můžete využít CDN k doručování vašich skriptů javascript. Poté můžete využít ukládání do mezipaměti prohlížeče (za předpokladu, že jiné weby používají stejné CDN) a distribuované doručování. Microsoft i Google mají řešení (já jsem je upřímně nepoužíval, ale určitě začnu) a mohou existovat i další.

U projektů ASP.NET jsem to vytvořil jako součást svého procesu sestavování na základě pokynů Karla Seguina.

Karl to nejlépe popisuje na svém blogu, ale krátkou verzí je nastavení konzolové aplikace, která zabalí YUICompressor. Pak můžete nastavit úkol po sestavení, který tuto konzolovou aplikaci zavolá proti umístění souborů JS na vašem webu.

Pokud je váš webapp v PHP, měli byste zvážit použití minify:

Kombinuje několik souborů CSS nebo Javascript, odstraňuje zbytečné mezery a komentáře a poskytuje jim kódování gzip a optimální záhlaví mezipaměti na straně klienta.

Z tohoto důvodu může být Python skutečně užitečný. Python se můžete naučit docela rychle. Začal jsem asi před 2 týdny a moje první aplikace (která stále není dokončena) bude dělat přesně to samé, co chcete. Stejně jako kompilátor DotLess bude mít funkci sledování, která se bude dívat na soubory nebo adresáře a pokud se změní, vygeneruje nový soubor.

Python je také skvělý pro jiné úkoly údržby a četl jsem mnoho správců systému, kteří ho rádi používají.

  • Sám jsem spíše chlápek z Perlu a pravděpodobně bych mohl něco hacknout společně, ale raději bych použil nějaký již existující nástroj (pravděpodobně s lepším testováním a více funkcemi, než by mé rychlé a špinavé úsilí mělo).
  • Ohavná sebepropagace, ale @Pickels, měli byste zájem pomoci tomuto projektu? code.google.com/p/lesscss-python

Vytvořil jsem Minifpy: nástroj napsaný v Python3 (kompatibilní s Mac OS, Windows a Linux) ke sloučení a minifikaci souboru JS a CSS pomocí Pythonu.

Minifpy používá velmi snadný konfigurační soubor JSON k určení, které soubory musí být sloučeny, minifikovány nebo ne:

{ 'js': { 'minify_files': [ {'from': 'static/file.js', 'to':'static/file.min.js'}, ], 'merge_files': [ {'from' : ['static/file1.js', 'static/file2.js'], 'to':'static/public.js', 'to_min': 'static/public.min.js'} ] }, 'css' : { 'minify_files': [ {'from': 'static/file.css', 'to':'static/file.min.css'}, ], 'merge_files': [ {'from' : ['static/file1.css', 'static/file2.css'], 'to':'static/public.css', 'to_min': 'static/public.min.css'} ] } } 

Tento nástroj můžete také použít v rozhraní příkazového řádku.

Minifpy detekuje jakékoli úpravy souborů JS / CSS a automaticky je slučuje / minifikuje (užitečné pro vývoj).

Pracoval pro vás: Charles Robertson | Chcete nás kontaktovat?