Ìá¸ßÒ³ÃæÏàÓ¦ËÙ¶È֮ѹËõÓÅ»¯jsºÍcssÎļþ
Steve SoudersÔÚËûµÄ¡¶High Performance Web Sites¡·Ò»ÊéÖÐÌá³öÌá¸ßÍøҳЧÂʵÄ14Ìõ×¼Ôò£¬ÕâЩ¿ÉÒÔʹÓÃYahoo! YSlowÀ´½øÐÐÒ»¸ö±È½ÏÐÎÏóµÄ¼ì²â¡£
ÕâÀïÖ÷ÒªÀ´ËµÒ»ÏµÚÒ»Ìõ×¼Ôò£ºMake Fewer HTTP Requests£¬Òâ˼¾ÍÊǾ¡¿ÉÄܵļõÉÙHTTPÇëÇó¡£µ±Ê±Òª´ïµ½Õâ¸öÄ¿µÄÓкܶàÖÖ·½·¨£¬ÆäÖÐ×îÖØÒªµÄÒ»µã¾ÍÊǽ«CSSÎļþºÍJavascriptÎļþ·Ö±ð½øÐÐѹËõºÍºÏ²¢£¬ÕâÑù¾ÍÔںܴó³Ì¶ÈÉϼõÉÙÁËä¯ÀÀÆ÷¶Ô·þÎñÆ÷µÄHTTPÇëÇó´Ë´¦£¬ÁíÍâÒ»µ©±»ä¯ÀÀÆ÷ÏÂÔص½±¾µØ¿ÉÒԶԴ˽øÐлº´æ£¬´Ó¶øÌá¸ßÁ˼ÓÔØËٶȡ£
ÓйØÓÚÕâ·½ÃæµÄ¹¤¾ß×îÓÅÐãÇÒʹÓÃ×îΪ¹ã·ºµÄ¿ªÔ´Èí¼þ·ÇYUI CompressorĪÊôÁË¡£µ«ÊÇYUICompressorÖ»ÄÜʹÓÃÃüÁîÐÐÒ»¸ö¸ö¶Ôjs»òcssÎļþ½øÐÐѹËõ£¬ÏÖÔÚÎÒÃǾÍͨ¹ýʹÓÃant½Å±¾À´´ïµ½ÅúÁ¿Ñ¹ËõºÏ²¢¶à¸öÎļþµÄÄ¿µÄ¡£
ÏÂÃæÒÔѹËõjsÎļþΪÀý½øÐÐ˵Ã÷¡£
Ê×ÏÈ×öÒ»¸ö¹ØÓÚjsÎļþ±àÂë¹æ·¶µÄÔ¼¶¨£ºËùÓеÄÔʼÎļþ¾ùΪ .source.js£¬¾¹ýѹËõ´¦ÀíºóÎļþ±äΪ.js£¬½«¶à¸öѹËõºóµÄÎļþºÏ²¢ºóµÄÎļþÃû³ÆΪall-min.js¡£
½ÓÏÂÀ´¿ÉÒÔдÏÂÃæµÄant½Å±¾£º
<!-- ¶ÔYUICompressorµÄÒýÓà -->
<property name="js.dir" value="${web.dir}/scripts" />
<property name="js.release.name" value="all-min.js"/>
<!-- ɾ³ý֮ǰѹËõºÏ²¢¹ýµÄÎļþ -->
<delete>
<fileset dir="${js.dir}" includes="${js.release.name}"/>
</delete>
<!-- Ö´ÐÐ yuicompressor ѹËõJS
-- parallel="false"£º¶ÔfilesetÖеÄÿ¸öÎļþ¶¼Ö´ÐÐÒ»´Îexecutable²ÎÊýµÄÃüÁî
-- dest Ö´ÐÐĿ¼
-->
<apply executable="java" parallel="false" verbose="true" dest="${js.dir}">
<fileset dir="${js.dir}">
<include name="**/*.source.js"/>
</fileset>
<arg line="-jar"/>
<arg path="${yuicompressor}"/>
<!-- ÉèÖôý´¦ÀíÔ´Îļþ¼°´¦ÀíºóÊä³öÎļþµÄ±àÂë¸ñʽ -->
<arg line="--charset utf-8"/>
<srcfile/>
<arg line="-o"/>
<!-- Ö¸¶¨ÎļþÃüÃ
Ïà¹ØÎĵµ£º
CSS hackÊÇÖ¸ÎÒÃÇΪÁ˼æÈݸ÷ä¯ÀÀÆ÷£¬¶øʹÓõÄÌرðµÄcss¶¨Òå¼¼ÇÉ¡£ÕâÊǹúÍâÕªÀ´µÄÒ»ÕÅCSS hackÁÐ±í£¬ÏÔʾÁ˸÷ä¯ÀÀÆ÷¶Ôcss hackµÄÖ§³Ö³Ì¶È£¬¶ÔÎÒÃÇÖÆ×÷¼æÈÝÍøÒ³·Ç³£ÓаïÖú¡£
ÆÁ±ÎIEä¯ÀÀÆ÷£¨Ò²¾ÍÊÇIEϲ»ÏÔʾ£© *:lang(zh) select {font:12px !important;} /*FF,OP¿É¼û£¬ÌرðÌáÐÑ£ºÓÉÓÚOpera×î½üµÄÉý¼¶£¬Ä¿Ç°´Ë¾äֻΪFF ......
ÕâÊÇÒ»¸ö±ê×¼µÄCSSÏÂÀ²Ëµ¥ÖÆ×÷½Ì³Ì£¬ÓÐÕë¶ÔÄ¿Ç°Á÷ÐеÄIE6/IE7/IE8²»Í¬°æ±¾µÄCSS´úÂ룬Òò´Ë¿ÉÒÔÔÚIEÖ®¼äÍêÈ«¼æÈÝ£¬²»¹ýÆäËüµÄä¯ÀÀÆ÷Ïñ»ðºü/GGä¯ÀÀÆ÷Ö®ÀàµÄûÓвâÊÔ£¬Èç¹û¼æÈÝIE8µÄ»°£¬ÄÇô¼æÈÝ»ðºüÓ¦¸ÃÎÊÌâ²»´ó°É¡£²Ëµ¥Ê¹ÓÃÀ¶É«»ùµ÷£¬»¬Ïò¶þ¼¶²Ëµ¥¸ü»»±³¾°£¬²Ù×÷µÄ¸Ð¾õºÜÊæ·þ¡£
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XH ......
ºÐÄ£ÐÍ£¬ÊÇXHTML
+CSS
²¼¾Ö
Ò³ÃæÖеÄ
ºËÐÄ£¡ÊǹØϵµ½Éè¼ÆÖÐÅŰ涨λµÄ¹Ø¼ü£¬¶¼×ñѺÐÄ£Ð͹淶£¬ÀýÈç<div>¡¢<p>¡¢<a>……ºÐÄ£ÐÍ°üº¬
(Íâ
±ß¾à)margin£¬(Äڱ߾à)padding £¬(ÄÚÈÝ)content£¬(±ß¿ò)border¡£
ÏÂͼÊÇCSSºÐÄ£Ð͵ÄʾÒâͼ
ÕâЩÊôÐÔÎÒÃÇ¿ÉÒÔ°ÑËüתÒƵ½ÎÒÃÇÈÕ³£Éú» ......
YUI Compressor ÊÇÒ»¸öÓÃÀ´Ñ¹Ëõ JS ºÍ CSS ÎļþµÄ¹¤¾ß£¬²ÉÓÃJava¿ª·¢¡£
ʹÓ÷½·¨£º
//ѹËõJS
java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -v src.js > packed.js
//ѹËõCSS
java -jar yuicompressor-2.4.2.jar --type css --charset utf-8 -v src.css > packed.css ......
CSS£«DIVÊÇÍøÕ¾±ê×¼Öг£ÓõÄÊõÓïÖ®Ò»£¬Í¨³£ÎªÁË˵Ã÷ÓëHTMLÍøÒ³Éè¼ÆÓïÑÔÖеıí¸ñ¶¨Î»·½Ê½µÄÇø±ð£¬ÒòΪXHTMLÍøÕ¾Éè¼Æ±ê×¼ÖУ¬²»ÔÙʹÓñí¸ñ¶¨Î»¼¼Êõ£¬¶øÊDzÉÓÃcss+divµÄ·½Ê½ÊµÏÖ¸÷ÖÖ¶¨Î»¡£ÄÇôʹÓÃDIV+CSS±àÂëʱºÜÈÝÒ×·¸Ò»Ð©´íÎó¡£±¾ÎÄÁоÙÁËһЩ³£¼ûµÄ´íÎó£º
1. ¼ì²éHTMLÔªËØÊÇ·ñÓÐƴд´íÎó¡¢ÊÇ·ñÍü¼Ç½áÊø±ê¼Ç
ÓÐʱºòÎÒÃÇÔÚ ......