Ответ 1
Sass поддерживает Partials. Таким образом, вы можете включить свою отдельную конфигурацию в __configuration.sass_ и ссылаться на нее с помощью
@import "configuration";
из основного файла sass.
Недавно я разветкил один из моих проектов Rails 3.0 с помощью 3.1 rc1, чтобы попробовать новый конвейер активов. Я использовал Sass в проекте до перехода к 3.1, поэтому я настраивал некоторые переменные и функции в отдельном файле конфигурации и позволял всем моим другим sass файлам импортировать один файл в первой строке.
Это отлично работает, чтобы не повторять некоторые цветовые коды и общую геометрию в таблицах стилей. Проблема теперь в новом Assets Pipeline заключается в том, что, как я понял, он преобразует файлы ".css.sass" в raw css, прежде чем добавлять его в остальную часть кода.
Итак, если я укажу в своем "application.css":
/*
*= require ./configure
*= require ./what_ever_other_files_i_want_to_import
*/
Я получаю такие ошибки, как:
Sass::SyntaxError
Undefined variable: "$interactive".
Когда я пытаюсь получить доступ к файлу из: http://localhost:3000/assets/application.css
Любые идеи?
Sass поддерживает Partials. Таким образом, вы можете включить свою отдельную конфигурацию в __configuration.sass_ и ссылаться на нее с помощью
@import "configuration";
из основного файла sass.
К сожалению, я обнаружил, что переменные SASS являются специфичными для страницы.
Если вы хотите переносить переменные во все файлы, удалите
*= require_tree .
из вашего файла application.css.scss и замените его директивой @import "layout.css.scss";
, чтобы вручную импортировать каждый файл sass.
Да, вы должны @import каждый файл