{"version":"1.0","provider_name":"\u0427\u0443\u0434\u043e{\u0432\u0438\u0449\u043d\u044b\u0435} \u0437\u0430\u043c\u0435\u0442\u043a\u0438","provider_url":"https:\/\/miracle.rpz.name","author_name":"MiRacLe","author_url":"https:\/\/miracle.rpz.name\/author\/miracle\/","title":"jspacker \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u0438\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0428\u0443\u0440\u0438\u043a\u0430","html":"\u041d\u0430\u043f\u0438\u0448\u0443-\u043a\u0430 \u044f \u0435\u0449\u0451 \u0440\u0430\u0437\u043e\u043a \u043f\u0440\u043e <a href=\"http:\/\/dean.edwards.name\/packer\/\">packer<\/a>. <a href=\"http:\/\/phing.info\">phing<\/a>, <strike>\u043d\u043e\u0440\u043c\u044b \u0431\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0441\u043a\u043e\u0433\u043e \u0443\u0447\u0451\u0442\u0430<\/strike> \u0438 \u0435\u0449\u0451 \u043f\u0440\u043e \u0447\u0451-\u0442\u043e.\r\n\r\n\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0432\u043e\u0435\u0439 \u0447\u0443\u0434\u043e\u0432\u0438\u0449\u043d\u043e\u0439 \u0437\u0430\u043c\u0435\u0442\u043a\u0435 <a href=\"http:\/\/miracle.rpz.name\/2006\/09\/15\/javascript-lint-and-compress\/\">\u043f\u0440\u043e \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u044e javascript-\u043e\u0432<\/a> \u044f \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043b perl-\u0432\u0435\u0440\u0441\u0438\u044e packer-\u0430 \u0414\u044d\u043d\u0430 \u042d\u0434\u0432\u0430\u0440\u0434\u0441\u0430.\r\n\u0415\u0451 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 exec (\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043d\u0443\u0436\u0435\u043d perl). \u0410 \u0432\u043e\u0442 \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u043d\u0430\u0448\u0451\u043b <a href=\"http:\/\/joliclic.free.fr\/php\/javascript-packer\/en\/\">\u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0433\u0430-\u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043d\u0430 php<\/a>  \u0438 \u0434\u0430\u0436\u0435 <a href=\"http:\/\/agachi.name\/weblog\/archives\/2006\/11\/25\/pack-your-javascript.htm\">\u043d\u0435 \u043e\u0434\u043d\u0443<\/a>.\r\n\r\n\u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0432\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0431\u044b\u043b\u0430 \"\u0432\u043f\u0435\u043d\u0434\u044e\u0440\u0435\u043d\u0430\" \u0432 phing.task.ext.JsPacker.Task, \u0430 \u0432\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u043b\u0430 \u043e \u0442\u043e\u043c \u0447\u0442\u043e \u0434\u0430\u0432\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u043b\u0441\u044f \u0438\u0437\u043b\u043e\u0436\u0438\u0442\u044c.\r\n\u0410 \u0438\u043c\u0435\u043d\u043d\u043e - \u043f\u0440\u043e <b>gzip-\u0441\u0436\u0430\u0442\u0438\u0435 js-\u0444\u0430\u0439\u043b\u043e\u0432<\/b>:\r\n\r\n\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0440\u043e\u0432\u043d\u043e \u043d\u0438\u043a\u0430\u043a\u0438\u0445 - mod_gzip \u0432 apache, gzip on; \u0432 <a href=\"http:\/\/sysoev.ru\/nginx\/\">nginx<\/a> \u0438 \u043c\u043e\u0436\u043d\u043e \u0442\u0435\u043c\u0443 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c. \u041d\u043e \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u043e \"\u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441\u044b\": \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u044d\u0442\u0438  \u043c\u043e\u0434\u0443\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u0445 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c, \u043d\u0443 \u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \"\u043d\u044e\u0430\u043d\u0441\": \u0444\u0430\u0439\u043b\u044b \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435, \u0437\u0430\u043a\u043e\u043d\u043e\u043c\u0435\u0440\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043c\u044b\u0441\u043b\u044c - \u0437\u0430\u0447\u0435\u043c \u0438\u0445 <b>\u0443\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435<\/b>? \u0412\u043e\u0442 \u043e\u0431 \u044d\u0442\u043e\u043c \u044f \u0438 \u0445\u043e\u0442\u0435\u043b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c<strike>, \u043d\u043e \u043d\u0435 \u0431\u0443\u0434\u0443<\/strike> ;o)\r\n\r\n\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u044f\u043c\u043e \u0432 \u043b\u043e\u0431 - <b>\u0443\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u043e\u0434\u0438\u043d \u0440\u0430\u0437<\/b> \u0438 \"\u0437\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u0442\u044c\" \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440. \u042f \u044d\u0442\u043e(\u0441\u0436\u0430\u0442\u0438\u0435) \u0434\u0435\u043b\u0430\u044e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u0441\u0451 \u0442\u043e\u0433\u043e \u0436\u0435 phing-\u0430, \u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e \u0442\u043e\u043c \u043a\u0430\u043a\u043e\u0439 \u0444\u0430\u0439\u043b (\u0441\u0436\u0430\u0442\u044b\u0439 \u0438\u043b\u0438 \u043d\u0435\u0442) \u043e\u0442\u0434\u0430\u0442\u044c \u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 mod_rewrite:\r\n<blockquote> RewriteEngine on\r\nRewriteRule ^(.*\\.js\\.gz)$ - [L]\r\nRewriteCond %{HTTP:Accept-Encoding} gzip\r\nRewriteCond  %{REQUEST_FILENAME}.gz        -f\r\nRewriteRule ^(.*)$ $1.gz<\/blockquote>\r\n\u042d\u0442\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 .htaccess \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043b\u0435\u0436\u0438\u0442 \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0441 js (\u0438\u043b\u0438 httpd.conf \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 Directory\/Location \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0435\u0439 \u0437\u0430 \u044d\u0442\u0443 \u0436\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e).\r\n\r\n\u0421\u043c\u044b\u0441\u043b \u0432\u0440\u043e\u0434\u0435 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u0435\u043d, \u043d\u043e \u044f \u043f\u043e\u044f\u0441\u043d\u044e - \u0435\u0441\u043b\u0438 \u0440\u044f\u0434\u043e\u043c \u0441 \u0444\u0430\u0439\u043b\u043e\u043c moi-super-bolshoy-javascript.js \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0435\u0433\u043e \u0441\u0436\u0430\u0442\u0430\u044f \u043a\u043e\u043f\u0438\u044f moi-super-bolshoy-javascript.js.gz \u0438 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0431\u0443\u0434\u0435\u0442 \u044f\u0432\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043e, \u0447\u0442\u043e \u043a\u043b\u0438\u0435\u043d\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 gzip-encoding, \u0442\u043e \u0435\u043c\u0443(\u043a\u043b\u0438\u0435\u043d\u0442\u0443) \u0432\u044b\u0434\u0430\u0434\u0443\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u0436\u0430\u0442\u0443\u044e \u043a\u043e\u043f\u0438\u044e. \u0412 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 (\u0441\u0436\u0430\u0442\u0438\u0435 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u043b\u0438 \u0441\u0436\u0430\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043d\u0435\u0442) \u0432 \u043e\u0442\u0432\u0435\u0442 \u0432\u0435\u0440\u043d\u0451\u0442\u0441\u044f \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b.\r\n\r\n\u0412 \u0438\u0442\u043e\u0433\u0435 <b>\u0443\u043c\u0435\u043d\u044c\u0448\u0438\u043b\u0438 \u0442\u0440\u0430\u0444\u0438\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/b>(\u0438 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432)  \u0438 <b>\u0441\u043d\u0438\u0437\u0438\u043b\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440<\/b>.\r\n\r\n\u0415\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u044d\u0442\u043e\u0442 \u0444\u043e\u043a\u0443\u0441 \u043c\u043e\u0436\u043d\u043e (\u0438 \u0434\u0430\u0436\u0435 \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u043d\u0443\u0436\u043d\u043e) \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u0442\u044c \u0441 css.\r\n\r\n<b>P.S.<\/b>\r\n\u0414\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0441\u0442\u043e\u0438\u0442 \u0443\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0437\u0438\u043f\u043e\u043c . \u0418 \u043d\u0435 \u043a\u0430\u0436\u0434\u044b\u0439 \u0444\u0430\u0439\u043b \u0441\u0442\u043e\u0438\u0442 \u0443\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0442\u044c packer-\u043e\u043c - \u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0430 <a href=\"http:\/\/www.javascriptlint.com\/\">jsl<\/a>(int)-\u043e\u043c - \u043d\u0435 \u0440\u0435\u0434\u043a\u0438 \u0441\u043b\u0443\u0447\u0430\u0438 \"\u043f\u043e\u043b\u043e\u043c\u043a\u0438\" \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432. \u041d\u0443 \u0430 \u043a\u0430\u043a \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u0435\u0435 - \u0440\u0435\u0448\u0430\u0442\u044c \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u043e \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u0444\u0430\u0439\u043b\u043e\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u0432\u0430\u043c.\r\n\r\n<b>Update<\/b>\r\n\r\n\u0410 \u0432\u043e\u0442 \u043d\u0430\u0448\u0451\u043b\u0441\u044f <a href=\"http:\/\/habrahabr.ru\/blog\/webdev\/33868.html\">\u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0442\u0434\u0430\u0447\u0438 gzip-\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430<\/a> \u0434\u0430\u0436\u0435 \u043b\u0443\u0447\u0448\u0438\u0439, \u0447\u0435\u043c \u043e\u043f\u0438\u0441\u0430\u043b \u044f.","type":"rich"}