scss에서 이제 @import
지원을 하지 않는데 이유는 아래와 같다
@import
를 사용하기 때문에 혼란스러울 수 있음이를 해결하기 위해 @use
를 사용한다
컴파일 중에 단 한 번만 import 되며, @use
를 사용하면 모듈 별로 별도의 namespace를 가지기 때문에 각 변수와 함수는 독립적으로 사용할 수 있다
또한 namespace.[target]
과 같이 사용하기 때문에 어디서 가져온 요소인지 직관적으로 알 수 있다
@use "box";
@use "card" as c;
.big-box {
background: box.$background-color;
border: box.getBorder(true);
width: c.$width;
height: 200px;
}