Ситуация
Я не мог заставить ресурсы своего поставщика прекомпилироваться в heroku, не указав каждый отдельный файл для прекомпиляции в config / initializers / assets, поэтому прибегнул к настройке
config.assets.compile = true
Примечание: Я не требовал ресурсов вендора в application.js, потому что я вызываю их отдельно для каждой страницы, когда они нужны.
Во всяком случае, я настроил учетную запись Cloudfront, и теперь все работает, как в разработке.Но при развертывании в Heroku есть предупреждение и ссылка, которая ведет к сообщению StackOverflow, предупреждающему о том, что для config.assets.compile не нужно устанавливать значение true.
Скомпилируйте значение True в рабочем режиме, если вы включиливаше приложение config.assets.compile = true в работе, ваше приложение может быть очень медленным.Лучше всего это описано в сообщении о переполнении стека:
Когда у вас включена компиляция, вот что происходит: каждый запрос файла в / assets передается в Sprockets.При первом запросе для каждого актива он компилируется и кэшируется во все, что Rails использует для кэширования (обычно файловая система).При последующих запросах Sprockets получает запрос и должен найти имя файла с отпечатком, проверить, что файл (изображение) или файлы (css и js), составляющие ресурс, не были изменены, и затем, если есть кэшированная версия, это можно сделать.
Этот параметр также вызывает другие нестабильности во время выполнения и, как правило, не рекомендуется.Вместо этого мы рекомендуем либо предварительно скомпилировать все ваши ресурсы при развертывании (что по умолчанию), либо, если это невозможно, скомпилировать ресурсы локально.
Мой вопрос: поскольку я сейчас использую Cloudfront, выполняет ли этоПрикрыть меня от того, что они предупреждают, медлительность и т. д.
Заранее спасибо за любые советы:)