Deutschlands Leben
Sass/SCSS의 부분 파일(Partial Files)과 컴파일 과정
nunaaa
2025. 9. 2. 02:14
이 설명은 Sass/SCSS의 부분 파일(Partial Files)과 컴파일 과정에 대한 내용입니다. 구체적인 예시로 설명해드리겠습니다.
문제가 되는 상황 예시
1. 잘못된 방식 - 각 파일을 독립적으로 컴파일하는 경우
_variables.scss
$primary-color: #3498db;
$font-size: 16px;
header.scss (부분 파일이 아님)
$primary-color: #3498db; // 중복 정의
$font-size: 16px; // 중복 정의
.header {
color: $primary-color;
font-size: $font-size;
}
footer.scss (부분 파일이 아님)
$primary-color: #3498db; // 중복 정의
$font-size: 16px; // 중복 정의
.footer {
color: $primary-color;
font-size: $font-size;
}
이렇게 각각을 컴파일하면:
- header.css와 footer.css에 동일한 변수 정의가 중복 생성
- CSS 코드 크기 증가
- 유지보수 시 여러 곳을 수정해야 함
2. 올바른 방식 - 부분 파일 사용
_variables.scss (부분 파일 - 파일명이 _로 시작)
$primary-color: #3498db;
$font-size: 16px;
_header.scss (부분 파일)
.header {
color: $primary-color;
font-size: $font-size;
}
_footer.scss (부분 파일)
.footer {
color: $primary-color;
font-size: $font-size;
}
main.scss (메인 파일)
@import 'variables';
@import 'header';
@import 'footer';
부분 파일의 핵심 특징
- 파일명이 _로 시작 (예: _variables.scss)
- 독립적으로 컴파일되지 않음
- @import를 통해서만 다른 파일에 포함됨
- 최종 CSS에서는 하나로 통합됨
실제 컴파일 결과
올바른 방식으로 main.scss를 컴파일하면:
main.css
.header {
color: #3498db;
font-size: 16px;
}
.footer {
color: #3498db;
font-size: 16px;
}
변수 정의는 한 번만 처리되고, 최종 CSS에는 실제 사용되는 스타일만 포함됩니다.
이것이 부분 파일이 "중복을 피하고 최종적으로 하나의 CSS 파일로 통합될 때 필요한 조각들을 제공하는 역할"을 한다는 의미입니다.