[SCSS] 파일 구조와 모듈화

2024. 10. 23. 17:45·Front end/Sass

서론

SCSS를 사용하는 가장 큰 이유이자 핵심이다. 컴포넌트를 재사용하고 컴포넌트끼리의 결합을 통해 하나의 큰 시스템을 구축한다. html과 css만으로는 그런 방법을 사용할 수 없는줄 알았는데 SCSS를 이용하면 객체지향적으로 코드 작성이 가능하다.


파일 구조

  • base/
  • components/
  • layout/
  • pages/
  • themes/
  • abstracts/
  • vendors/
  • main.scss

이 형식은 SCSS 뿐만이 아니라 리액트나 뷰와 같은 다른 라이브러리에서도 일반적으로 사용한다. 반드시 이 구조를 사용해야 한다는 것은 아니지만 일반적으로 많이 사용하는 구조이니 SCSS에서도 사용하면 쉽게 적용 가능하다. 

 

폴더별 예시 파일

폴더별 예시 파일

 

@use

이제 해당 폴더에서 컴포넌트를 만든 후 다른 컴포넌트에서 사용하기 위한 키워드는 @use 이다. 모듈을 불러오기 위해서는 아래와 같이 사용할 수 있다. 

// 모듈 선언 
$radius: 3px;

@mixin rounded {
  border-radius: $radius;
}

// 호출부
@use "modules/corners";

.button {
  @include corners.rounded;
  padding: 5px + corners.$radius;
}

 

마찬가지로 네임 스페이스를 사용할 수도 있다. 

// 모듈 선언 
$radius: 3px;

@mixin rounded {
  border-radius: $radius;
}

// 호출부
@use "modules/corners" as cn;

.button {
  @include cn.rounded;		// cn으로 호출 가능
  padding: 5px + cn.$radius;
}

 

@forward

@forward 키워드는 각 폴더안에 있는 여러 컴포넌트를 하나로 묶기 위해 사용된다. 각각의 폴더에 있는 _index 파일에서 폴더 내 파일을 모두 묶어서 내보낸다.

// components 폴더에 있는 _index.scss

@forward 'button';
@forward 'dropdown';
반응형
저작자표시 (새창열림)

'Front end > Sass' 카테고리의 다른 글

[SCSS] mixin 사용법  (0) 2024.10.22
[SCSS] 주석, 변수, 보간법  (0) 2024.10.22
'Front end/Sass' 카테고리의 다른 글
  • [SCSS] mixin 사용법
  • [SCSS] 주석, 변수, 보간법
re-hwi
re-hwi
재휘의 개발일기
    반응형
  • re-hwi
    Dvelopment blog
    re-hwi
  • 전체
    오늘
    어제
    • 재휘의 개발일기 (168)
      • 개발 (1)
        • 소프트웨어 공학 (25)
      • Python (18)
        • numpy (8)
      • OS (23)
        • 쉽게 배우는 운영체제 (23)
      • Front end (1)
        • HTML (6)
        • CSS (9)
        • JavaScript (18)
        • React (2)
        • Vue.js (5)
        • TypeScript (5)
        • Sass (3)
      • Algorithm (1)
        • 파이썬 알고리즘 인터뷰 (2)
        • 자료구조와 함께 배우는 알고리즘 (20)
      • Android (2)
        • 안드로이드 앱 프로그래밍 with 코틀린 (2)
      • Project (15)
      • Network (0)
      • etc (12)
        • 이것저것 (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    HTML
    프론트엔드
    sass
    파이썬
    오블완
    scss
    알고리즘
    플레이리스트
    티스토리챌린지
    정처기
    typeScript
    개발
    뷰
    타입스크립트
    연결리스트
    TS
    js
    자료흐름도
    pwa
    리액트
    정보처리기사
    표
    REACT
    numpy
    자료구조
    vue
    CSS
    컴포넌트
    JavaScript
    FE
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
re-hwi
[SCSS] 파일 구조와 모듈화
상단으로

티스토리툴바