Служить активам напрямую (без конвейера активов) в разработке? - PullRequest
3 голосов
/ 10 ноября 2011

Rails 3.1 загружает страницы ужасно медленно в разработке. Он обрабатывает их по конвейеру, по одному, и занимает слишком много времени.

Можно ли предварительно скомпилировать мои ресурсы (которые я сейчас не тестирую, так что со статическими файлами все в порядке) и Rails не несет ответственности за их обслуживание? Это сделает вещи быстрее?

Обновление: есть решение.
Ричард Халс имеет правильный ответ на этот вопрос. rake assets:precompile выполнит предварительную сборку активов, чтобы они обслуживались напрямую, без конвейера активов.

Но Ответ Frexuz решает проблему медленной загрузки, которую я имел. Загрузка гема Rails-dev-tweaks значительно ускоряет загрузку страниц при разработке.

Ответы [ 2 ]

6 голосов
/ 12 ноября 2011

У меня была такая же проблема!Загрузка страницы из-за ресурсов может занять от 2 до 4 секунд.

Посмотрите здесь (драгоценный камень): Rails 3.1 очень медленный в режиме разработки из-за ресурсов, чтоделать?

Это делало обслуживающие активы практически мгновенными (серверная консоль говорит 1 мс на актив), обычно используя конвейер активов.

3 голосов
/ 11 ноября 2011

Да.

Вы можете запустить задачу прекомпиляции (в 3.1.1), и она будет просто работать - задача прекомпиляции даст вам активы без отпечатков пальцев, а также с, что вам нужно в режиме разработки.(Отпечатки пальцев не добавляются в режиме разработки).

Остерегайтесь того, что вы не передаете их в систему контроля версий.

Больше всего беспокоит медлительность.У меня есть 4 таблицы стилей и 15 файлов javascript в моих манифестах, и это только немного медленно при первом запросе.

Что вы видите в своих журналах при доступе к ресурсам?Вы должны видеть, что они компилируются при первом обращении, и каждый последующий запрос должен быть неизменным 304.

Кроме того, совпадают ли ваши параметры конфигурации для dev с руководством по конвейеру ресурсов?Если вы сжимали в режиме разработки с большим количеством файлов, это может быть причиной замедления.

...