Yani, app/assets/stylesheets/
şuna benzeyen bir dizin yapım var:
|-dialogs
|-mixins
|---buttons
|---gradients
|---vendor_support
|---widgets
|-pages
|-structure
|-ui_elements
Her dizinde birden çok sass bölümü vardır (genellikle * .css.scss, ancak bir veya iki * .css.scss.erb).
Çok şey varsayıyor olabilirim, ancak uygulama.css'de olduğu için rayların bu dizinlerdeki tüm dosyaları otomatik olarak derlemesi GEREKİR *= require_tree .
, değil mi?
Yakın zamanda tüm renk değişkenlerini kaldırıp kök app/assets/stylesheets
klasördeki (_colors.css.scss) bir dosyaya yerleştirerek bu dosyaları yeniden yapılandırmayı denedim . Daha sonra app/assets/stylesheets
master.css.scss adlı kök klasörde şuna benzer bir dosya oluşturdum :
// Color Palette
@import "colors";
// Mixins
@import "mixins/buttons/standard_button";
@import "mixins/gradients/table_header_fade";
@import "mixins/vendor_support/rounded_corners";
@import "mixins/vendor_support/rounded_corners_top";
@import "mixins/vendor_support/box_shadow";
@import "mixins/vendor_support/opacity";
Rayların varlık derleme sırasını nasıl ele aldığını gerçekten anlamıyorum, ancak bu açıkça benim lehime değil. Görünüşe göre dosyaların hiçbiri içe aktarılmakta olan değişkenleri veya karışımları olduğunu bilmiyor ve bu yüzden hata veriyor ve ben derleyemiyorum.
Undefined variable: "$dialog_divider_color".
(in /home/blah/app/assets/stylesheets/dialogs/dialog.css.scss.erb)
Undefined mixin 'rounded_corners'.
(in /home/blah/app/assets/stylesheets/widgets.css.scss)
Değişken $dialog_divider_color
, _colors.css.scss'de açıkça tanımlanmıştır ve _master.css.scss
renkleri ve tüm karışımlarımı içe aktarmaktadır. Ama görünüşe göre raylar bu notu almamış.
Bu hataları düzeltmenin bir yolu var mı, yoksa tüm değişken tanımlarımı her bir dosyaya ve tüm mixin içe aktarımlarına geri koymam gerekecek mi?
Maalesef, bu adam bunun mümkün olduğunu düşünmüyor, ama umarım yanılıyordur. Herhangi bir düşünce çok takdir edilmektedir.