Как должен выглядеть правильный CSS-шаблон для рельсов?
Я делаю учебник по Rails для CSS, и мне поручили создать файл shmoogle.css.scss в app/assets/stylesheets/shmoogle.css.scss
Рядом с этим файлом находится файл application.css, который выглядит следующим образом:
/*
* This is a manifest file that'll be compiled into application.css, which will include
all the files
* listed below.
*
* Any CSS and SCSS file within this directory, lib/assets/stylesheets,
vendor/assets/stylesheets,
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a
relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the
bottom of the
* compiled file so the styles you add here take precedence over styles defined in any
styles
* defined in the other CSS/SCSS files in this directory. It is generally better to
create a new
* file per style scope.
*
*= require_tree .
*= require_self
*= require_shmoogle
*/
Обратите внимание на строку со второй по последнюю, где мне требуется_shmoogle. Это правильно? Это должно быть закомментировано, как это?
2 ответа
require_tree .
Директива будет автоматически включать все CSS-файлы в текущем каталоге, поэтому вам не нужно отдельное требование require для этого конкретного файла.
Пользовательские требования пригодятся, когда вам нужны файлы, загруженные в определенном порядке. Например:
*= require_self
*= require load_me_first
*= require load_me_next
*= require_tree ./subfolder_to_require_next
*= require_tree .
Этот код будет включать файлы в указанном вами порядке и окончательный require_tree .
потребует всего остального. Если вы не хотите включать все остальное, вы можете удалить require_tree .
директива и требует все вручную.
Природа комментариев файлов манифеста ожидается. Специальные директивы (начиная с *=
) вызывает особое поведение в конвейере активов. Любой код, написанный за пределами блока комментариев, будет интерпретирован как обычный код CSS и включен в require_self
директивы.
Вы можете прочитать больше о файлах манифеста и директивах в Руководстве по конвейерным ресурсам активов.
Так должно быть require shmoogle
, но так как вы уже делаете require_tree .
это утверждение не является необходимым. require_tree
требует все таблицы стилей в текущем каталоге рекурсивно.
Так что обновите свой application.css
включать только:
*= require_tree .
*= require_self