WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Minimera sina script... (https://www.wn.se/forum/showthread.php?t=35251)

gsoc 2009-02-19 21:17

Han menade nog dom lokala scripten, såsom php osv

tartareandesire 2009-02-19 22:21

Citat:

Originally posted by gsoc@Feb 19 2009, 22:17
Han menade nog dom lokala scripten, såsom php osv

Jo, precis.

studiox 2009-02-19 23:45

Citat:

Ursprungligen postat av tartareandesire
Citat:

Ursprungligen postat av gsoc
Han menade nog dom lokala scripten, såsom php osv

Jo, precis.

Anledningen till jag inte trodde det var att han skrev "google gör såhär" och dom enda scripten som google har tillgängliga är väl JS..

Pratar vi PHP så spelar det, precis som andra också sagt - ingen som helst roll.

kw_wasabi 2009-02-20 00:03

Citat:

Originally posted by grinditwp@Feb 19 2009, 15:03
Om jag raderar alla onödiga mellanslag, tar bort alla kommentarer, alla radbrytning osv. Alltså gör alla kod till en kodklump. Sparar jag ca 18% utrymme.

155 kb blir 127 kb.

Om det har stor betydelse för snabbheten vet jag inte. Men du bör ju också tänka på att koden lätt ska kunna felsökas och ändras av en människa. Det blir svårt om man har klumpat ihop allting och tagit bort alla "in-tabbningar" osv.

radioaktivitet 2009-02-20 07:11

Jag brukar använda yui compressor för att göra koden mindre. Sedan brukar jag gzippa. Vad jag vet är det det absolut bästa sättet att få ner storleken på koden. Lägg sedan den koden som en inkluderad .js fil.

emilv 2009-02-20 07:48

Klientside-kod tjänar du på att komprimera. Antingen gör du som radioaktivitet och kör det genom en minimizer eller så kör du enbart gzip (koden blir större med enbart gzip men lättare att jobba med). Sedan ska du se till att stänga av E-Tag för dessa filer samt sätta en Expiry-header en bit in i framtiden så att filen cachas i webbläsaren.

Ett problem med långtida Expiry-headers är om du vill göra förändringar i filen, då vill du ju också att besökarens webbläsare hämtar den senaste versionen. Detta har vi löst på Levonline genom att vi har en PHP-variabel som heter $cacheid. I denna variabel lagrar vi ett nummer som vi ökar när vi gjort förändringar i någon statisk fil (JS, CSS, bilder etc). Vi lägger på cache-id:t på sluten av filnamnet när vi länkar in filerna, till exempel så här:

<script language="JavaScript" type="text/javascript" src="/inc/jquery-1.2.6.min.js?<?php echo $cacheid;?>"></script>

Ökar vi $cacheid så kommer det alltså i webbläsarens ögon bli ett unikt filnamn och filen hämtas då inte från webbläsarens cache. Med denna metod har vi fått ner antalet HTTP-frågor för återkommande besökare till en enda utan att försvåra vårt eget arbetsflöde.

Clarence 2009-02-20 08:00

Citat:

Originally posted by grinditwp@Feb 19 2009, 14:03
Gör man såhär? Är jag dum i huvudet och tänker helt fel? :lol:
Det är bra att göra så, men sen kan man fråga sig om det blir värt besväret mot filer som frekvent uppdateras. Men har du ett gäng script-bibliotek som sällan uppdateras finns ingen anledning att inte minimera. Ett litet tips är att spara den som <namn>.min.js så du inte råkar göra dig av med icke-minifierade versionen tills den dagen det ska uppdateras.

Det finns ett gäng pack-tekniker också för att ytterligare minska storleken men de har två saker gemensamt; det tar längre tid att exekvera (oftast ingen större skillnad) och är något osäker att köra om man inte är 100% på att man har kompatibel kod.

Ett annat tips är att kombinera småscript som inkluderas till en fil för att slippa onödigt många requests (samma skäl som css sprites blivit populära).

gsoc 2009-02-20 08:35

PHP:
http://blog.digitalstruct.com/2008/02/27/p...ing-techniques/

ASP:
http://www.asp101.com/lessons/caching.asp

CSS:
http://www.cleancss.com/

Javascript:
http://dean.edwards.name/packer/

radioaktivitet 2009-02-20 08:41

Använd inte http://dean.edwards.name/packer/. YUI Compressor är mycket bättre.

Källa http://blog.jquery.com/2009/01/21/jquery-131-released/

Citat:

Finally, a few users noticed that we no longer provide a “packed” version of jQuery (a version of jQuery run through Dean Edwards’ Packer with Base62 encoding turned on). We did this for a couple reasons:

* Packed scripts are significantly harder to debug (even harder than minifed scripts).
* Packed scripts aren’t able to run on all platforms without issue (such as Adobe AIR and Caja-capable environments).
* But most importantly: Packed scripts are slower for the user than what you would get from using just minification. This may seem counter-intuitive since a packed script’s file size is smaller than a minified script but the final load time ends up being much higher (due to the decompression step it must go through). We have some data regarding the loading performance of minified scripts vs. packed scripts, for those that are interested.

The minifed copy of jQuery that we provide, run through the YUI Compressor, should be the optimal form of jQuery to use in a production environment (served using gzipping, if possible).


grinditwp 2009-02-21 21:29

Tanken var att minimera filer som ej skall arbetas med längre. Självklart behålla en icke komprimerad fil för framtida arbete och felsökning.

Som sagt gäller det typ scriptbibliotek som enbart skall användas, inte ändras i.

gsoc: Tack för de fina länkarna!
Clarence & emilv: Tack för de välfyllda svaren.
radioaktivitet: Även tack till dig såklart!

Och alla andra såklart :P Tack för alla inputs.


Alla tider är GMT +2. Klockan är nu 00:37.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson