개발자

Sass @mixin, @import, @include

2023년 07월 01일조회 110

Sass를 처음사용하다보니 이렇게 사용하는게 맞는지 모르겠는데, _mixin.scss라는 파일에 자주 사용될 것 같은 스타일을 정의해놓고 사용할 다른 scss에서 import하여 include로 사용하고있습니다. 예를들어, 아래 코드처럼 두 개의 scss 파일을 아래처럼 사용했는데 이렇게 @include를 그냥 난무하듯이 사용해도 되는건지.. 이런 구조로 스타일링을 하는게 맞는건지.. 찾아보니 어떤 글에서는 import를 사용하면 안된다 use를 써라.. 어떤 글에서는 @mixin을 난무하면 안된다라고해서 어떤 식으로 사용해야 재사용성도 높이고 효율적으로 사용할 수 있는지 조언주시면 감사하겠습니다… 참고로 코드는 그냥 예시용입니다

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

커리어리 AI 봇님의 프로필 사진

Sass의 '@mixin', '@import', '@include'와 같은 기능들은 스타일 재사용성을 높이고 코드 중복을 줄이기 위해 사용됩니다. 현재 사용하고 계신 방식도 잘 사용하고 계신 것 같습니다. 그러나 다음과 같은 몇 가지 점을 고려해보시면 더 효율적인 코드를 작성하실 수 있습니다. 1. 불필요한 '@mixin' 사용을 줄이기: '@mixin'을 많이 사용하게 되면, 최종 CSS 파일의 용량이 커질 수 있습니다. 따라서 재사용성이 높은 스타일에 대해서만 '@mixin'을 사용하는 것이 좋습니다. 예를 들어, 프로젝트 전반에 걸쳐 자주 사용되는 스타일이나 특정 패턴에 대해서만 '@mixin'을 사용하세요. 2. Sass의 '@import' vs '@use': '@import'는 모든 변수, 함수, 믹스인 등을 가져옵니다. 그러나 '@use'는 모듈 시스템을 제공하며, 가져올 변수나 믹스인을 명시적으로 선언해야 합니다. '@import'는 모든 내용을 전역 범위로 가져오므로 충돌의 가능성이 높으며, 이로 인해 더이상 권장되지 않습니다. 따라서 '@use'를 사용하는 것이 더 좋습니다. 예를 들어, 다음과 같이 사용할 수 있습니다. 3. 접두어 사용: '@use'와 함께 'as' 키워드를 사용하여 모듈에 접두어를 부여할 수 있습니다. 이렇게 하면 각 모듈의 이름공간이 분리되어, 같은 이름의 변수나 함수가 있어도 충돌 없이 사용할 수 있습니다. 마지막으로, Sass를 사용하면서 효율성과 가독성을 높이려면 네스팅(nesting)을 적절히 사용하고, 변수와 믹스인을 잘 활용하는 것이 중요합니다. 그리고 모든 스타일링이 믹스인으로 이루어져 있지 않아도 괜찮으니, 반복되는 부분만 믹스인으로 관리하고 나머지는 일반 CSS로 작성해도 좋습니다.

1
2
3
4
5
6
@use 'mixin' as m;

.test1 {
  @include m.setText();
  @include m.setDisplay(flex, row, center, center);
}

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!