Как стать автором
Обновить

Комментарии 39

Два вопроса:
  1. Можно ли настроить не полную сборку для продакшена? У меня, к примеру, некоторые js-файлы подгружаются самим javascript'ом по необходимости, только для определенного браузера. То есть можно ли получить что-нибудь вроде файла <script type="text/javascript" src="/javascripts/base_1150571523.js"></script>, который не включает соответственно DOMselection_gecko.js и DOMselection_ie.js и подгружает их по необходимости?

  2. Он автоматически генерирует для каждого запроса уникальное имя файла? Я имею ввиду, что если base_1150571523 автоматически генерируется для каждого запроса от клиента, то это не есть гуд - клиент его не сможет закешировать. А вот если он генерирует отдельное имя для каждой сборки, то гуд.

1. Можно. Просто в конфиге описать только нужные. Можно там же так же делить по секциям и подгружать секции в зависиомсти от необходимости.
Конкретно с этим не эксперементировал, но по логике работает так.

2. Нет, он генерирует при сборке уникальное. Т.е. каждый раз, когда перезапускаете "rake asset:packager:build_all". Т.е. с кэшем все ок.
Ну тогда буду пробовать.
Судя по описанию, отличная штука, спасибо за наводку.
По секрету, "в основном" пишется раздельно ;)
Спасибо, поправил =)
Раз пошла такая пьянка, то деепречатсный оборот в первом предложении тоже страшный. Лучше "...делая большой проект, получаешь кучу отдельных..." или вообще тут проще без оборота обойтись.
Меня одного удивило, что это называется "сжатием"? У меня с этим словом другие ассоциации.
Ну согласен, что сжатие можно заключить в кавычки. =)
Да я не придираюсь, просто по названию сразу представилось, как всё сжимается в архив, а на клиентской стороне — разжимается. Может, я один такой :)
Вообще, насколько я помню терминологию, это больше похоже на «архивирование» (сборка в один файл, как tar), а не «сжатие» (уменьшение размера файла, как gzip, bzip2, rar)
Мне кажется, что сейчас эта терминология исказилась — архивом зачастую называют именно сжатый файл.
Мне кажется, это неправильно называют (-;
К сожалению, ассоциации закрепляются не на том, что правильно, а на том, что популярно. Можно, конечно, гнуть в свою сторону, но люди будут удивляться.
К счастью, никто не обязывает быть неграмотным, и всегда можно чему-нибудь научиться. В том числе, научиться правильно употреблять термины.
А я и не спорю. Каждый конкретный человек — может научиться, а вот поменять то, что принято — уже не так просто, даже если это неправильно.

И да, люди часто не понимают, когда им говорят то, что правильно, когда у них в голове — другой, более популярный вариант. Не понимаю, к чему тут минусовать. Лучше напишите, с чем вы не согласны.
И, разве удивление это плохо? (-:
Хорошо, конечно :)
Но часто нужно, чтобы люди сразу понимали, а не удивлялись и переспрашивали.
Чтобы люди правильно понимали, достаточно написать правильный термин и в скобках (или ссылкой на определение) указать его правильное значение, разве не так?
Я не хочу спорить и разводить здесь флуд на эту тему. Вы правы, так и нужно делать. Но не будьте столь категоричны, не всегда всё так однозначно. В частности, про термин архивирование — в статье Archive_file в википедии есть и про сжатие.
Я знаю, что карма — запретная тема, но всё же — крик души.
Я понимаю, что люди могут быть несогласны с моим мнением, и поставить минус к комментарию — это нормально. Но уменьшить из-за этого, вообще говоря, аккуратно высказанного мнения, и без того "малоположительную" карму — этого мне не понять.
Самое неприятное — что даже комментария на этот счёт никакого, и непонятно вообще, отсюда ли всё пошло. Вы всегда так с новичками, хабралюди?
Я слегка поправил твои дела :)
Добавил кармы. Статья-то о нужном (-:.
Согласен, сжатием вообще не пахнет. Вообще есть термин "компоновщик" ака линкер, который как правило принимает несколько модулей на вход, а на выход дает один. Хотя с применимостью этого термина здесь тоже можно спорить, но он все же ка кто былие к теме, чем "сжатие".
Так, погодите. Оно ужимает скрипты как yui compressor, например (удаляет лишние пробелы, переименовывает локальные переменные в короткие...)? Или просто объединяет по нескольку файлов с вырезанием комментариев?
Объединяет и удаляет пробелы. Переменные кажись не трогает.
Чистая правда. Переписанный на руби c'шный код.
Отлично
И сжатые файлы оно перегенерит автоматом после внесения изменений в яваскрипты и css? Или надо каждый раз запускать: "rake asset:packager:build_all"?
Каждый раз надо запускать. Сделано в связи с тем, чтоб не были каждый раз файлы новыми и кэшировалось браузерами это добро.
прописывается команда в то, чем вы деплоите проект (capistrano, etc) - и пусть выполняется каждый раз автоматически при каждом деплое
Да, плагин действительно хороший.
еще бы yui сюда - вообще бы цены не было.
имея готовый один файл - можно без проблем дописать автоматическое его ужимание через YUI при деплое. А посколько после пакования YUI в некоторых скриптами возникают проблемы - не думаю, что стоит включать его в сам плагин по дефолту.
Честно скажу, много не паковал, но с тем, что паковал вопросов не возникло. Если мне не изменяет память, prototype.js не глючил после сжатия.
как раз prototype и ломался некоторое время назад, когда YUI в нём $super переименовывал, а прототайп обрабатывал именно имя $super как специальный случай. Потом это было исправлено, конечно, но никто не гарантирует отсутствия подобных же проблем в других случаях. JSMin же действует более аккуратно, выбрасывая только незначащие символы, а всё остальное не трогая - код в итоге больше, но и проблем меньше. Его уже потом можно поверх YUI и паковать при желании.
НЛО прилетело и опубликовало эту надпись здесь
Давайте, будет интересно.
Вещь интересная, подыскивал такую. Когда включаешь десяток или больше JS и еще CSS, начинаются проблемы - на загрузку страницы уходит дополнительно пару десятков запросов на сервер. Кеширование не особо спасает - все равно эти запросы необходимы, узнать свежачёк на сервере или нет.

Интересно посмотреть на аналог этой вещи на Java.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории