@use의 기본 개념
@use는 "이 파일을 사용하겠다"는 의미입니다.
다른 파일에서 정의한 변수, 믹스인, 함수를 가져와서 사용할 수 있습니다.
@use "variables"는 _variables.scss 파일을 불러와서 사용한다는 의미입니다.
요약 설명@use와 @forward는 SCSS의 모듈 시스템에서 파일을 불러오고 전달하는 기능입니다.
@use는 파일을 불러와서 사용하고,@forward는 파일을 다른 곳에서 사용할 수 있게 전달합니다.이 페이지에서는
@use의 기본 문법, 네임스페이스,as키워드,@forward의 개념과 사용법,@use와@forward의 차이, 그리고 실제 사용 예시를 상세히 알아봅니다.
@use는 파셜 파일을 불러와서 사용하는 기능입니다.
네임스페이스, as 키워드, 네임스페이스 제거 등 기본 문법을 이해해 두면,
@import 대신 @use를 사용하는 이유와 모듈 시스템의 장점을 실무에서 바로 활용할 수 있습니다.
@use는 "이 파일을 사용하겠다"는 의미입니다.
다른 파일에서 정의한 변수, 믹스인, 함수를 가져와서 사용할 수 있습니다.
@use "variables"는 _variables.scss 파일을 불러와서 사용한다는 의미입니다.
@use의 기본 문법은 다음과 같습니다.
언더스코어(_)와 확장자(.scss)는 생략할 수 있습니다.
@use로 불러온 변수나 믹스인은 네임스페이스(파일명)를 붙여서 사용해야 합니다.
네임스페이스를 사용하면 어떤 파일에서 온 변수인지 명확하고, 변수 이름 충돌을 방지할 수 있습니다.
as 키워드를 사용하여 네임스페이스를 변경할 수 있습니다.
긴 파일명을 짧은 네임스페이스로 변경하여 사용할 수 있습니다.
as *를(을) 사용하여 네임스페이스를 제거할 수 있습니다.
네임스페이스를 제거하면 @import처럼 사용할 수 있지만, 변수 이름 충돌 위험이 있으므로 주의가 필요합니다.
@forward는 파일을 다른 곳에서 사용할 수 있게 전달하는 기능입니다.
여러 파셜을 하나의 모듈로 묶어서 전달할 때 사용하므로, 변수·믹스인을 카테고리별로 그룹화하거나 라이브러리처럼 제공할 때 특히 유용합니다.
@forward는 "이 파일의 내용을 다른 곳에서도 사용할 수 있게 전달한다"는 의미입니다.
중간 파일에서 여러 파셜을 모아서 하나의 모듈로 만들 때 사용합니다.
_variables.scss가 _colors.scss와 _spacing.scss를 전달하여, main.scss에서는 variables 하나만 불러와도 두 파일의 내용을 모두 사용할 수 있습니다.
@forward의 기본 문법은 @use와 동일합니다.
@use와 @forward의 차이점을 명확히 이해하는 것이 중요합니다.
@use는 현재 파일에서 직접 사용하고, @forward는 다른 파일에서 사용할 수 있게 전달하는데,
이 차이를 이해하면 모듈 구조를 설계할 때 어떤 것을 선택할지 명확하게 판단할 수 있습니다.
@use는 파일을 불러와서 현재 파일에서 사용합니다.
@use는 현재 파일에서만 사용할 수 있게 합니다.
@forward는 파일을 다른 곳에서 사용할 수 있게 전달합니다.
@forward는 다른 파일에서도 사용할 수 있게 전달합니다.
두 기능의 차이를 표로 비교해봅니다.
의미
사용
전달
사용 범위
현재 파일에서만 사용
다른 파일에서도 사용 가능
용도
파일을 불러와서 직접 사용
여러 파일을 묶어서 전달
사용 예시
main.scss에서 variables 사용
_variables.scss에서 colors, spacing 전달
@use와 @forward를 같은 파일에서 함께 사용할 수 있습니다.
@forward로 다른 파일에 전달하면서, @use로 현재 파일에서도 사용하는 예시입니다.
@forward로 colors를 전달하고, @use로 현재 파일에서도 사용합니다.
variables를 통해 colors의 변수를 사용할 수 있습니다.
이렇게 하면 _variables.scss에서 colors의 변수를 사용하면서, 동시에 다른 파일에서도 variables를 통해 colors의 변수에 접근할 수 있습니다.
@use와 @forward를 실제 프로젝트에서 활용하는 예시를 살펴봅니다.
여러 변수 파일을 하나의 모듈로 묶어서 사용하는 예시입니다.
이렇게 하면 여러 변수 파일을 하나의 모듈로 묶어서 관리할 수 있습니다.
여러 컴포넌트 파일을 하나의 모듈로 묶어서 사용하는 예시입니다.
show와 hide를 사용하여 특정 항목만 전달하거나 제외할 수 있습니다.
show는 지정한 항목만 전달하고, hide는 지정한 항목을 제외하여 나머지를 전달합니다.
이렇게 하면 내부용 변수나 믹스인을 숨기고, 공개할 항목만 전달할 수 있습니다.
@forward에서도 as 키워드를 사용할 수 있습니다.
@use와 @forward를 언제 어떻게 사용할지 가이드라인을 제시합니다.
다음과 같은 경우에는 @use를 사용합니다:
다음과 같은 경우에는 @forward를 사용합니다:
@use, @forward 기본 이해에 대해 알아본 내용을 정리합니다.
as *, as 별명)@use는 사용, @forward는 전달@use와 @forward를 함께 사용 가능show, hide, as 키워드로 세밀한 제어 가능@use, 모듈 구성은 @forward다음 페이지에서는 기본적인 SCSS 폴더 구조 예시를 자세히 알아봅니다.