Я понимаю, как конвейер ресурсов берет файлы, указанные в манифесте, и обрабатывает их, объединяет их в один файл и затем сжимает файл для более быстрой загрузки.
В моем приложении у меня есть несколько отдельных разделовгде существуют разные зависимости.
В моих ресурсах я создал три каталога для этих трех разделов:
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, они должны иметь его в кеше и поэтому не должнынеобходимо загрузить его еще раз.
Итак, мой вопрос: правильно ли я понимаю это в том, как я организовал свои файлы и как браузер / сервер будет работать для минимизации загрузок?
Еслинет, есть ли способ минимизировать загрузку файлов, если пользователь уже загрузил их через предыдущий раздел?