여기에 수락 된 답변이 있지만 질문에 답하는 것이 아니라 다른 해결책을 제시합니다. 어느 쪽이 절대적으로 괜찮습니까? 나는 아무에게도 모욕하지 않으려 고합니다. 그러나 여기에없는 것은 add_import_path
에 관한 정보이며 그것이 당신을 위해 무엇을하는지에 대한 것입니다.
Magento에서 일한 경험이있는 사용자라면 테마 및 템플릿 파일의 폴백 구조에 익숙합니다. 동일한 기본 스킨을 사용하는 여러 저장소를 설정하려면 미리 정의 된 계층 구조를 변경하는 대체 구조를 포함해야했습니다. 그래서 창피 config.rb 파일을 확인
myThemeA - config.rb
require "font-awesome-sass"
http_path = "/skin/frontend/rwd/myThemeA/"
add_import_path "../../../rwd/default/scss"
css_dir = "../css"
sass_dir = "../scss"
images_dir = "../images"
javascripts_dir = "../js"
fonts_dir = "../css/fonts"
relative_assets = true
output_style = :expanded
environment = :production
sourcemap = true
myThemeB - config.rb
require "font-awesome-sass"
http_path = "/skin/frontend/rwd/myThemeB/"
add_import_path "../../../rwd/default/scss"
additional_import_paths = ["../../../rwd/myThemeA/scss"]
css_dir = "../css"
sass_dir = "../scss"
images_dir = "../images"
javascripts_dir = "../js"
fonts_dir = "../../myThemeA/css/fonts"
relative_assets = true
output_style = :expanded
environment = :production
sourcemap = true
그래서 여기 아이디어는 우리가 세 가지 스킨을 가지고 있고 우리는 모든 파일을 모든 스킨에 포함하는 대신 특정 파일을 덮어 쓰기 위해서만 가져 오기 경로를 사용할 수 있습니다. 우리가 변화하는 것에 따라 전 지구 적 변화를 원할 때, 우리는 변화를 3 번이나하지 않을 것입니다 - 오직 의존성이 사슬에서 어디에 위치 할 것인가에 달려 있습니다.
그래서 ...
기본은
myThemeA 그 자체로 피부이며 기본이다 기본적를 사용하는 모든 스킨의 기본입니다
그것의로 myThemeA 기본적를 사용하면서 기본이야로 myThemeB이 myThemeA를 사용 태만. 이 일을하게 무엇
는 add_import_path
및 additional_import_paths
의 위치입니다. 본질적으로, 그것은 기본적으로 처음 정의 된 add_import_path
를 사용하고 이후 additional_import_paths
배열 add_import_path
에서 무엇보다 우선하지만, 추가에 포함되지 않은 것도, 그것은 기본에 찾아 갈 것입니다.
희망이 수입 경로에 대한 추가 정보를 찾는 사람에게 의미가 있습니다.
'add_import_path'동작의 가져 오기 기능에 대해 알아 봤습니다. sass 컴파일시 가져 오기 경로에있는 파일을 사용합니다. \ _framework.scss, 그 파일에있는 모든 가져 오기 (예 : @import "VAR"을 선택 후 오히려 우리가 있던 원래의 폴더 구조보다 _that_ 파일에 상대적 될 것입니다.이 방법은 myThemeB에서 \의 _var.scss 파일을 가지고 있지만, 경우에 당신이하지 않아도 (귀하의 예제를 사용하여) myThemeB에 \ _framework.scss 파일이 있으면 myThemeB \ _var.scss 파일이 사용되지 않습니다. 테마를 변경하지 않더라도 테마에 파일을 포함해야하므로 성가신 방법입니다. –
접선을하지 않으려 고하지만 이것은 SASS/SCSS보다 적은 장점이라고 생각합니다. Lazy 로딩은이 문제를 불활성으로 간주합니다. 컴파일에서 해당 변수의 최근로드 된 정의를 사용하기 때문입니다. 나는 잠시 동안 Rudy SASS와 놀지 않았다. 본질적으로 게으른로드 인 CSS 변수를 사용하는 것처럼 보입니까? https://github.com/sass/sass/issues/2119 – Plummer
요크셔 곰 설명 어떻게 플러머에 의해 설명 된 바와 같이 테마 환경을 설정하려고 할 때 오늘 내가 경험 한 정확한 동작이며 실현 걸 렸어요 그 내가 달성하려는 것은 간단하지 않습니다. 이 문제에 대한 해결 방법이 있습니까? – loeffel