Rails 3.1+, Asset Pipeline и Большой проект - PullRequest
1 голос
/ 24 февраля 2012

Я хочу мнения и мнения от сообщества.

Я занимаюсь разработкой большого приложения с несколькими модулями. Это веб-сайт, основанный на контенте, который также нуждается во многих уникальных функциях пользовательского интерфейса.

Я люблю использовать SASS и coffee-script, но я хочу узнать ваше мнение, потому что нам нужно скомпилировать ресурсы, и на моем компьютере Core-i3 это занимает 15-20 минут. Поскольку мы используем bootstrap, а также compass-rails.

Мой вопрос такой: правильно ли использовать конвейер активов, где нам приходится иметь дело с огромным CSS и где мы постоянно обновляемся в UI / CSS. Поскольку для каждого изменения CSS мы работаем вживую, мы должны скомпилировать ресурсы и это занимает очень много времени.

Разве невозможно, чтобы мы использовали обычные функции стилей и сценариев Rails 3, чтобы избежать сложности конвейера ресурсов для такого огромного проекта. Или каким образом мы можем уменьшить его сложность и сократить время компиляции.

Пожалуйста, подробно изложите свое мнение, чтобы этот вопрос / сервер ответов был ориентиром для других людей, прежде чем принимать решение по конвейеру активов.

1 Ответ

2 голосов
/ 15 июня 2012

Я вижу, что у вас есть три варианта:

1. Отключить конвейер активов полностью

Этот подход может быть самым простым в плане конфигурации: вы можете отключить конвейер ресурсов и вернуться к дальнейшей разработке непосредственно в CSS + Javascript. Лично я считаю, что Coffeescript и SCSS - это огромный продуктивный прогресс, который делает мою жизнь проще, поэтому я бы не пошел по этому пути. Но это возможно.

Чтобы отключить конвейер ресурсов, вам необходимо установить следующую конфигурационную опцию:

#application.rb
config.assets.enabled = false

И удалите драгоценные камни из группы активов из своего файла:

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end

2. Включить конвейер активов в производство

Обычно не рекомендуется, но также возможен вариант: в зависимости от нагрузки на сервер и количества пользователей может быть возможно запустить приложение в работе с включенным конвейером ресурсов. Недостатком этого подхода является, конечно, то, что сервер должен перекомпилировать ресурсы при каждом поступлении запроса.

3. Получите более быстрый компьютер (если возможно, с SSD)

Компьютер действительно очень дешев по сравнению с затратами времени разработчика, поэтому, если это возможно, я бы порекомендовал приобрести более совершенный компьютер с твердотельным диском. Не только вы сэкономите время, но и интенсивная работа ввода-вывода, такая как запуск наборов тестов или компиляция ресурсов, значительно сокращается при использовании SSD.

...