따라서 app/assets/stylesheets/
다음과 같은 디렉토리 구조가 있습니다.
|-dialogs
|-mixins
|---buttons
|---gradients
|---vendor_support
|---widgets
|-pages
|-structure
|-ui_elements
각 디렉토리에는 여러 개의 sass 부분 (일반적으로 * .css.scss이지만 * .css.scss.erb 하나 또는 두 개)이 있습니다.
나는 많은 것을 가정 할 수 있지만, rails는 *= require_tree .
application.css에 있기 때문에 해당 디렉토리의 모든 파일을 자동으로 컴파일해야합니다 . 맞습니까?
최근에 모든 색상 변수를 제거하고 루트 app/assets/stylesheets
폴더 (_colors.css.scss) 의 파일에 배치하여 이러한 파일을 재구성 해 보았습니다 . 그런 다음 app/assets/stylesheets
master.css.scss라는 루트 폴더에 다음과 같은 파일을 만들었습니다 .
// 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";
레일이 애셋 컴파일 순서를 처리하는 방법을 이해하지 못하지만 분명히 내 편이 아닙니다. 어떤 파일도 변수 나 믹스 인을 가져 오는 것을 인식하지 못하는 것 같아서 오류가 발생하고 컴파일 할 수 없습니다.
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)
변수 $dialog_divider_color
는 _colors.css.scss에 명확하게 정의되어 있으며 _master.css.scss
색상과 모든 믹스 인을 가져 옵니다 . 그러나 분명히 레일은 그 메모를 얻지 못했습니다.
이러한 오류를 수정할 수있는 방법이 있습니까? 아니면 모든 변수 정의를 각 개별 파일과 모든 mixin 가져 오기에 다시 넣어야합니까?
불행히도, 이 사람 은 그것이 가능하다고 생각하지 않는 것 같지만, 그가 틀렸기를 바라고 있습니다. 어떤 생각이라도 대단히 감사합니다.