@import-ed .scss файлы и звездочки 4
Возможно, еще слишком рано, чтобы получить хорошие ответы, но здесь мы идем: у меня есть тестовый проект Rails, с assets/
каталог, который выглядит примерно так:
config/
manifest.js
images/
javascripts/
application.js
stylesheets/
_base.scss
_reset.scss
_theme.scss
_variables.scss
application.scss
Файл манифеста выглядит так:
// JS and CSS bundles
//= link_tree ../javascripts .js
//= link_tree ../stylesheets .css
// Images so that views can link to them
//= link_tree ../images
И application.scss
как это:
@import "reset";
@import "variables";
@import "base";
@import "theme";
_base.scss
а также _theme.scss
оба используют переменные, определенные в _variables.scss
файл.
То, что я хочу сделать, это просто скомпилировать application.scss
как обычно, но терпит неудачу, потому что не думает, что переменные определены; это разумно, я делаю ссылки в виде дерева, поэтому [я предполагаю] он компилирует каждый файл по отдельности, а переменные не доступны для двух файлов в данный момент времени.
Так что я стараюсь link ../stylesheets/application.css
вместо дерева я получаю сообщение об ошибке couldn't find file '../stylesheets/application.css' under '/Users/danielcouper/Projects/myproject/app/assets/config'
; то есть кажется, что он выглядит не в том месте, или существуют разные (недокументированные) правила относительно путей к файлам в зависимости от того, используете ли вы link
или же link_tree
,
Если я перееду manifest.js
из assets/config/
каталог для assets/
чтобы заставить работать относительные пути, как описано в примечаниях по обновлению Sprockets, я получаю сообщение об ошибке, в котором нет файла манифеста под assets/config/
,
Документация [понятно] супер редкая в минуту; единственная полезная вещь, которую я прочитал, была на http://eileencodes.com/posts/the-sprockets-4-manifest/, что позволило мне добраться до этой точки
1 ответ
Не использовать link_tree
, дерево ссылок импортирует все файлы в дереве. Если вам нужен только один файл application.css, используйте это:
link application.scss
Таким образом звездочки начнутся с этого файла, а sass выполнит импорт.