Kontakta SiteVision
Anpassa webbplatsen
Karta över webbplatsen
English version of SiteVision
Sök på sitevision.se
Sök

Komprimera js och css

Några tidigare inlägg har handlat om Google Page Speed och där bygger en hel del på att man ska minska datamängden, mitt gamla tips om SmushIt är ett bra exempel. Därför har jag ett bra tips på hur man komprimerar sina javascript som man behöver på sajten.
Fler och fler funktioner som webbutvecklare använder sig utav är beroende av Javascript och när dessa ökar i antal blir sidorna jobbigare att ladda ner på grund av den ökade datamängden. Detta kan man givetvis se till att ändra lite på.

Javascript innehåller ju bara text och om man har jobbat med att packa filer någonsin (WinZip eller nåt liknande) så märker man att packningsgraden är gigantisk när man har textfiler att jobba med. Med andra ord så borde detta även kunna appliceras på Javascriptfiler som man använder på sin sajt. Det samma gäller givetvis för de externa CSS-filer som webbutvecklare skriver.

Online YUI Compressorlänk till annan webbplats, öppnas i nytt fönster är ett sånt verktyg. Här klistrar men enkelt in sin kod och låter verktyget komprimera koden så att den tar mindre plats utan förlorad funktionalitet. Tyvärr blir det lite svårt att läsa Javascriptet sen ;) Men man kan inte få allt här i världen.

/Mvh Janne

EDIT:

Vill bara skicka med lite information till er som läser detta och håller kolla på kommentarerna. I SiteVision 3.0 kommer det att finnas en ny funktion som gör det enklare att uppdatera filer utan att behöva webdav eller liknande. Det finns nu inbyggt en möjlighet att redigera filer direkt i SiteVision.

Kommentarer
  1. Ett bra tips som kan göra stor skillnad, speciellt på mobila enheter. Ser fram mot 3.0 där standard-CSS och JavaScript är ihopslagna och komprimerade. Om man vill göra det smidigare finns det bra programvaror som hjälper till, t.ex. Smaller för OS X: http://smallerapp.com.

    Som utvecklare har jag försökt få till ett arbetsflöde med externa CSS- och JS-filer utan att ha kommit ända fram riktigt. På stora webbplatser som har många olika tillämplingar, proxyintegrationer och egenskriva moduler vill jag gärna dela upp stilmallar och JavaScript i små delprojekt. Just nu ser det ut ungefär så här:

    * ett git repository för varje webbplats med delprojekt som kataloger
    * ett byggskript som automagiskt slår ihop och komprimerar alla css- och js-filer
    * LiveReload (http://livereload.com) som laddar om webbläsaren åt mig så fort jag sparar en fil
    * Proxyserver (Charles) som låter mig peka ut mina lokala filer och förhandsgranska förändringar utan att ladda upp filerna på produktionsservern
    * manuell uppladdning av de komprimerade filerna när det är dags för deploy

    Kan tyckas vara lite omständigt men för projekt som har mycket egna JavaScript vill jag ha det versionshanterat och kunna sitta i en vettig textredigerare. Hur jobbar ni andra med JavaScript-/CSS-tunga applikationer?

    Det här blev nästan lite off topic, men det är ju kul att diskutera SiteVision! :)
    # 1
    onsdag, 11 januari kl. 11:06
  2. Vi kör ganska sällan med minifierade js och css. Men Webdav från Coda rätt in i Sitevision har underlättat vårt jobb OTROLIGT mycket :)

    Precis som att jobba med lokala filer. Det blir ju inte mer ordning för det, men otroligt smidigt.
    # 2
    onsdag, 11 januari kl. 11:15
  3. Jag jobbar liknande som dig Sven. Fast just nu utan git/livereload och Proxyserver. Vilket inte var en helt dum idé. Tack för tipset!

    Jag har knåpat ihop ett eget byggskript i nodejs som komprimerar ner alla javascript filer till en stor fil som sedan optimeras. För att göra det använder jag mig utav
    * Browserify (https://github.com/substack/node-browserify). Browserify ger möjlighet att göra precis som man gör i nodejs, d.v.s. använda sig utav require. Det gör att man slipper fundera på i vilken ordning filerna ska ligga i när dom optimeras till en fil, samt ger ett skönt include-liknande system. Den ger även möjlighet att skriva coffeescript (http://coffeescript.org/) istället för javascript om man så vill.
    * uglify-js (https://github.com/mishoo/UglifyJS) för javascript komprimering.
    * TrimPath templates (http://code.google.com/p/trimpath/wiki/JavaScriptTemplates) för att kunna ha smidiga mallar i javascript filerna. Mallarna kompileras vid bygg till funktioner som man sedan kan köra require på.

    För CSS så använder jag mig utav less (http://lesscss.org/) för att få möjlighet att bland annat modulera upp CSS-filerna lite. Även här appliceras en CSS-optimizer för att få ner filstorleken.

    Denna laddar sedan automatiskt upp javascriptet och CSS-filerna till SV-servern via webdav.

    Javascript: Från ca. 70 filer som tillsammans är 900 kb till en fil på 470kb

    CSS: Från ca. 34 filer på 204 kb, till en fil på ca. 100 kb.

    Jag tror det var allt faktiskt :)
    # 3
    onsdag, 11 januari kl. 11:24
  4. @kentos det är ganska smart, men hur gör ni när ni ska arbeta med en redan lanserad webbplats? Sitter ni och ändrar "live" i JavaScript då?
    # 4
    onsdag, 11 januari kl. 12:55
  5. Janne   (Författarkommentar)
    Jag har uppdaterat inlägget med lite "nyttigheter" som ni utvecklare kanske kan dra nytta av i SiteVision 3.0.
    # 5
    torsdag, 12 januari kl. 09:11
  6. @sven: det skulle man kunna säga att "vi" gör. Som man märker så har Patrik något supersystem för det där, som inte riktigt jag kör på ;)

    @janne: skitbra med editor i verktyget! men när det gäller css/js så brukar man vilja använda sin favoriteditor, där känner man sig mest hemma. man är för van med cmd+s, alt+tab, cmd+r ;)
    # 6
    torsdag, 12 januari kl. 11:44
Lämna en kommentar
Lämna en kommentar




Glömt lösenord?
Registrera SiteVisionansvarig
Kundwebb

Här kan du som SiteVisionansvarig hämta uppdateringar, beställa licenser, skicka in supportfrågor osv.

Logga in
Behöver du hjälp?
Här kan du som användare hitta hjälp som rör moduler och funktioner i SiteVision.

http://help.sitevision.selänk till annan webbplats, öppnas i nytt fönster

Sök

Webbplatsen är byggd i SiteVision | Design gjord av Strateg | Copyright © 2012