2013-11-25 2 views
8

sass에서는 가져 오기 명령을 사용하여 하나의 가져 오기를 수행합니다. 나는 예로서 Zurb 재단을 사용합니다 :컴파일하지 않고 Sass 가져 오기

@import "foundation"; 

이는 전체 foundation.scss 파일을 가져옵니다 모든 현재의 파일의 상단을 기준으로 수입입니다. 즉, foundation.scss 파일 전체가 컴파일되어 파일의 내용과 함께 최종 <name here>.css 파일로 출력됩니다.

맞춤 색상 및 간격과 같이 맞춤 설정에 좋지만 라이브러리를 만들고 다른 사람들이 기존 프로젝트에 삽입 할 수 있도록 개별 라이브러리로 배포 할 때 어려움이 있습니다.

및 기타 변수가 현재 파일의 범위에서 사용 가능하게되지만 다른 css 문은 무시되므로 "참조"로 파일을 가져 오는 방법이 있습니까? LESS CSS 사전 처리기에는 이와 비슷한 새로 구현 된 가져 오기 태그 (적절하게는 reference)가 있습니다. 재단을 살펴보면

+1

'_subfile.scss'와 같은 하위 파일을 생성하여 코드를 작성하고 주 파일로 가져옵니다. 유지 관리가 쉽습니다. –

+0

@VivekVikranth 그런 다음 어떻게 패키지를 출시 (최종 사용자 용)하겠습니까? – user3030670

+0

[Sass partial importing] (http://stackoverflow.com/questions/14122316/sass-partial-importing) 중복 가능 – cimmanon

답변

1

이에 좋은 접근 방식을 보여줍니다 여기에

https://github.com/zurb/bower-foundation/blob/master/scss/foundation/components/_breadcrumbs.scss

들이 파일의 맨 위에있는 하나의 @import "global"; 있습니다. 하단에서 유지 mixin

의 무리

뒤에

자신이 갖고 :

@include exports("breadcrumbs") { 
    @if $include-html-nav-classes { 
    .breadcrumbs { 
     @include crumb-container; 
     @include radius($crumb-radius); 

     &>* { 
     @include crumbs; 
     } 
    } 
    } 
} 

$include-html-nav-classes이 _global.scss 파일에서 기본적으로 true로 설정됩니다. 이 파일을 false로 변경하여 다른 파일에서도 무시할 수 있습니다. 이렇게하면 mixins를 사용하고 html을 생성 할 수 있습니다.

css를 생성 할 필요가없는 경우 mixins 만 포함하면 상황이 간단 해집니다. 나는 그들이 신속하게 사용자 정의 및 출력 CSS의 최적화를 허용하기 위해이 일을 믿습니다.

+5

사실, 기초 방법은 * 끔찍한 * 흉내 내서는 안됩니다. CSS 라이브러리를 이렇게 복잡하게 만들지 않으므로 아무도이 방법으로 CSS 라이브러리를 제작할 것을 권장하지 않습니다. CSS를 내보내는 코드는 믹스 인, 변수 등으로부터 격리되어야합니다. – cimmanon

+0

찾기 * 모든 * 컴퍼스 확장은이 시점에서 매우 어려운 작업입니다. 찾을 수있는 대부분의 확장은 순전히 * building block * 스타일입니다 (즉, 변수, 함수 및 믹스 인 : 새시 버튼, 모듈러 스케일 등). 재설정 및 정규화와 같은 확장은 훨씬 덜 일반적입니다. Foundation과 Bootstrap만이 CSS *와 *의 필수 빌딩 블록을 분리없이 찾을 수있는 유일한 확장입니다. – cimmanon

+0

좋은 질문입니다.이 대답의 Foundation 메서드가 코드 냄새라고 동의합니다. 이상적으로 Sass 언어는 특별한 import 지시어 (예 : "@importReference")를 사용하여 CSS를 작성하지 않고 파일을 가져올 수 있습니다. 이는 마스터 페이지가 글로벌을 연결하는 마스터 페이지 시나리오에서 유용하고 직관적입니다.css 파일을 만든 다음 하위 페이지를 마스터 페이지의 CSS 파일에서 참조를 사용할 수있는 하위 관련 CSS 파일에 연결합니다 (Global.css가 더 크고 단일 CSS 파일로 결합하지 않고 여러 페이지에 캐시해야 함) . –

관련 문제