Вопрос

Предварительные активы на производственном сервере очень медленные. Поэтому я решил перекомпилировать их на машину разработки и загрузить активы на Amazon S3 jammit. Анкет Все сделано, но у меня есть негативные проблемы:

  1. Я должен включить public/assets каталог на git контроль. Потому что, если public/assets каталог пуст на сбое на производственном сервере
  2. Если я предварительно совершаю активы на машине разработки application.js Включает в HTML как сжатый, и таким образом я дублировал код JS. Изменение JS не оказывает никакого эффекта, потому что предварительно скомпилированный application.js прерывает этот код.

Таким образом, мой процесс разработки включает следующие шаги:

  1. Удалить предварительные активы, если я собираюсь изменить JS или CSS
  2. Сделайте некоторые изменения
  3. Активы с недостаточностью
  4. Загрузить активы в S3 jammit-s3
  5. Совершать и выдвинуть мои изменения, включая активы на сервер GIT
  6. Развернуть от Capistrano

Мои вопросы:

  1. Возможно ли настройка среды разработки, не включайте сжатую application.js Если у меня есть это в public/assets каталог?
  2. Можно ли настроить производственную среду для работы с пустым public/assets каталог? Активы будут только на сервере S3.
Это было полезно?

Решение 2

Я решил эту проблему, включив Acsets Dir в Gitignore и исключая только один файл - public/assets/manifest.yml и производственный сервер работает правильно сейчас, т.е. config.action_controller.asset_host = "http://assets.example.com" работает. Это требует только manifest.yml файл

Другие советы

Для первого вопроса я не знаю постоянного решения, кроме бега:

bundle exec rake assets:clean

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

В Production.rb есть вариант для вашего второго вопроса:

# Enable serving of images, stylesheets, and JavaScripts from an asset server
config.action_controller.asset_host = "http://assets.example.com"

Затем он должен игнорировать ваш каталог активов, поскольку он полагается на удаленный хост. Надеюсь, это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top