Как организовать файлы в конвейере ресурсов Rails 5.2? - PullRequest
1 голос
/ 12 июня 2019

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

В моем приложении у меня есть несколько отдельных разделовгде существуют разные зависимости.

В моих ресурсах я создал три каталога для этих трех разделов:

stylesheets
  application.scss  -manifest for common elements such as bootstrap

  proofreaders
   index.scss  -manifest file for this section
   p_dashboard.scss

  clients
   index.scss -manifest file for this section
   c_dashboard.scss

  frontend
    index.scss -manifest file for this section
    custom.scss

Я добавил файлы в мой файл config / initializeres / assets.rb:

Rails.application.config.assets.precompile += %w(proofreaders/index.css clients/index.scss frontend/index.scss)

Вот пример того, что находится в моем файле манифеста application.scss:

@import "bootstrap";
@import "font-awesome";
@import "fonts";
@import "variables";
@import "utilities";
@import "bootstrap-overrides";
@import "animations";
@import "custom";

В моем файле макета корректора у меня есть следующее:

doctype html
html
  head
    meta content=("text/html; charset=UTF-8") http-equiv="Content-Type" /
    title Dashboard
    = csrf_meta_tags
    = stylesheet_link_tag  'application', 'proofreaders', media: 'all', 'data-turbolinks-track': 'reload'

Идея состоит в том, что когда пользователь впервые заходит на сайт через раздел внешнего интерфейса, он загружает сжатый файл application.css и сжатый файл frontend.css.

Затем, если они переходят в другой раздел, произнеситеРаздел корректоров, так как они уже скачали файл application.css, они должны иметь его в кеше и поэтому не должнынеобходимо загрузить его еще раз.

Итак, мой вопрос: правильно ли я понимаю это в том, как я организовал свои файлы и как браузер / сервер будет работать для минимизации загрузок?

Еслинет, есть ли способ минимизировать загрузку файлов, если пользователь уже загрузил их через предыдущий раздел?

1 Ответ

0 голосов
/ 20 июня 2019

Ваше понимание кажется правильным. Когда я сюда попал, вы создаете еще 3 файла манифеста и загружаете приложение во все макеты / разделы, поэтому ваш файл application.css должен загружаться при входе пользователя на сайт из первого раздела / макета и не должен отправлять запрос снова.

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

или Если все выглядит нормально, вы также можете проверить кеш настроек браузера. Как и в Chrome, вы можете нажать CTRL + SHIFT + I, а затем в меню сети проверить опцию отключенного кэша.

Надеюсь, вам помогут с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...