프로젝트를 구현하고 있는데 제가 이해한 바에 따르면 @use
只会将代码导入到我们使用@use
은 다른 스타일시트가 아닌 스타일시트에 있습니다.
sass 문서:
@use 로드된 멤버(변수, 함수 및 믹스인)는 해당 멤버를 로드한 스타일시트에서만 볼 수 있습니다. 다른 스타일시트가 이에 액세스하려면 고유한 @use 규칙을 작성해야 합니다.
그래서 _b.scss
的文件,它是我编译为css的sass的主文件,然后我有一个名为a.scss
的文件,我在其中通过@use
导入了_b.scss
,然后,我有一个名为project.scss
的文件,在其中我导入了a.scss
,所以根据这个层次结构,_b.scss
不应该在project.scss
中可访问,但是当我将project.scss
编译为css时,在我的css文件中,我编译了来自_b.scss
的scss代码(然而,如果我在project.scss
中写入像@debug map-get($colors."red")
라는 것이 있는데 오류가 발생하는데, 왜 이런 일이 발생하는 걸까요?
PS: 저는 gulp
를 사용하여 scss와 css를 컴파일, 정리, 모니터링합니다.
귀하의 인용문을 바탕으로 함(강조는 제가 함):
여기에는 스타일 규칙이 포함되지 않습니다. docs에 따르면 스타일 규칙은 생성된 스타일시트에 여전히 "로드"되어 있습니다.
따라서
@use
는 스타일 규칙을 출력하는 동안 표시되는 멤버(변수, 함수 및 믹스인)를 분리하는 데 사용됩니다.