Комментарии 39
Два вопроса:
- Можно ли настроить не полную сборку для продакшена? У меня, к примеру, некоторые js-файлы подгружаются самим javascript'ом по необходимости, только для определенного браузера. То есть можно ли получить что-нибудь вроде файла
<script type="text/javascript" src="/javascripts/base_1150571523.js"></script>
, который не включает соответственноDOMselection_gecko.js
иDOMselection_ie.js
и подгружает их по необходимости? - Он автоматически генерирует для каждого запроса уникальное имя файла? Я имею ввиду, что если
base_1150571523
автоматически генерируется для каждого запроса от клиента, то это не есть гуд - клиент его не сможет закешировать. А вот если он генерирует отдельное имя для каждой сборки, то гуд.
1. Можно. Просто в конфиге описать только нужные. Можно там же так же делить по секциям и подгружать секции в зависиомсти от необходимости.
Конкретно с этим не эксперементировал, но по логике работает так.
2. Нет, он генерирует при сборке уникальное. Т.е. каждый раз, когда перезапускаете "rake asset:packager:build_all". Т.е. с кэшем все ок.
Конкретно с этим не эксперементировал, но по логике работает так.
2. Нет, он генерирует при сборке уникальное. Т.е. каждый раз, когда перезапускаете "rake asset:packager:build_all". Т.е. с кэшем все ок.
По секрету, "в основном" пишется раздельно ;)
Меня одного удивило, что это называется "сжатием"? У меня с этим словом другие ассоциации.
Ну согласен, что сжатие можно заключить в кавычки. =)
Вообще, насколько я помню терминологию, это больше похоже на «архивирование» (сборка в один файл, как tar), а не «сжатие» (уменьшение размера файла, как gzip, bzip2, rar)
Мне кажется, что сейчас эта терминология исказилась архивом зачастую называют именно сжатый файл.
Мне кажется, это неправильно называют (-;
К сожалению, ассоциации закрепляются не на том, что правильно, а на том, что популярно. Можно, конечно, гнуть в свою сторону, но люди будут удивляться.
К счастью, никто не обязывает быть неграмотным, и всегда можно чему-нибудь научиться. В том числе, научиться правильно употреблять термины.
А я и не спорю. Каждый конкретный человек может научиться, а вот поменять то, что принято уже не так просто, даже если это неправильно.
И да, люди часто не понимают, когда им говорят то, что правильно, когда у них в голове другой, более популярный вариант. Не понимаю, к чему тут минусовать. Лучше напишите, с чем вы не согласны.
И да, люди часто не понимают, когда им говорят то, что правильно, когда у них в голове другой, более популярный вариант. Не понимаю, к чему тут минусовать. Лучше напишите, с чем вы не согласны.
И, разве удивление это плохо? (-:
Хорошо, конечно :)
Но часто нужно, чтобы люди сразу понимали, а не удивлялись и переспрашивали.
Но часто нужно, чтобы люди сразу понимали, а не удивлялись и переспрашивали.
Чтобы люди правильно понимали, достаточно написать правильный термин и в скобках (или ссылкой на определение) указать его правильное значение, разве не так?
Я не хочу спорить и разводить здесь флуд на эту тему. Вы правы, так и нужно делать. Но не будьте столь категоричны, не всегда всё так однозначно. В частности, про термин архивирование в статье Archive_file в википедии есть и про сжатие.
Я знаю, что карма запретная тема, но всё же крик души.
Я понимаю, что люди могут быть несогласны с моим мнением, и поставить минус к комментарию это нормально. Но уменьшить из-за этого, вообще говоря, аккуратно высказанного мнения, и без того "малоположительную" карму этого мне не понять.
Самое неприятное что даже комментария на этот счёт никакого, и непонятно вообще, отсюда ли всё пошло. Вы всегда так с новичками, хабралюди?
Я понимаю, что люди могут быть несогласны с моим мнением, и поставить минус к комментарию это нормально. Но уменьшить из-за этого, вообще говоря, аккуратно высказанного мнения, и без того "малоположительную" карму этого мне не понять.
Самое неприятное что даже комментария на этот счёт никакого, и непонятно вообще, отсюда ли всё пошло. Вы всегда так с новичками, хабралюди?
Согласен, сжатием вообще не пахнет. Вообще есть термин "компоновщик" ака линкер, который как правило принимает несколько модулей на вход, а на выход дает один. Хотя с применимостью этого термина здесь тоже можно спорить, но он все же ка кто былие к теме, чем "сжатие".
Так, погодите. Оно ужимает скрипты как yui compressor, например (удаляет лишние пробелы, переименовывает локальные переменные в короткие...)? Или просто объединяет по нескольку файлов с вырезанием комментариев?
Объединяет и удаляет пробелы. Переменные кажись не трогает.
ужимается при помощи jsmin - http://www.crockford.com/javascript/jsmi…
И сжатые файлы оно перегенерит автоматом после внесения изменений в яваскрипты и css? Или надо каждый раз запускать: "rake asset:packager:build_all"?
Да, плагин действительно хороший.
еще бы yui сюда - вообще бы цены не было.
имея готовый один файл - можно без проблем дописать автоматическое его ужимание через YUI при деплое. А посколько после пакования YUI в некоторых скриптами возникают проблемы - не думаю, что стоит включать его в сам плагин по дефолту.
Честно скажу, много не паковал, но с тем, что паковал вопросов не возникло. Если мне не изменяет память, prototype.js не глючил после сжатия.
как раз prototype и ломался некоторое время назад, когда YUI в нём $super переименовывал, а прототайп обрабатывал именно имя $super как специальный случай. Потом это было исправлено, конечно, но никто не гарантирует отсутствия подобных же проблем в других случаях. JSMin же действует более аккуратно, выбрасывая только незначащие символы, а всё остальное не трогая - код в итоге больше, но и проблем меньше. Его уже потом можно поверх YUI и паковать при желании.
Вещь интересная, подыскивал такую. Когда включаешь десяток или больше JS и еще CSS, начинаются проблемы - на загрузку страницы уходит дополнительно пару десятков запросов на сервер. Кеширование не особо спасает - все равно эти запросы необходимы, узнать свежачёк на сервере или нет.
Интересно посмотреть на аналог этой вещи на Java.
Интересно посмотреть на аналог этой вещи на Java.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Сжатие JavaScript и CSS на Rails с помощью asset_packager