Sass(SCSS) 시작하기

2020. 10. 27. 16:39·Frontend/Tech Insight
728x90
SMALL



🤔 Sass(SCSS)란?

"Sass"는 문서의 구조를 깔끔하고 효율적으로 코드를 작성할 수 있게 해주는 CSS 상위에 있는 메타언어입니다.

🔎 Sass / SCSS 차이

Sass와 SCSS의 핵심은 같지만 가장 큰 차이점은 {}(중괄호)와 ;(세미콜론)를 쓰고 안 쓰고 차이입니다.
이 글에서는 SCSS로 작성될 예정입니다.

// Sass
#wrap 
  color: red

 

// SCSS
#wrap {
  color: red;
}

 

📝 설치하기

SCSS를 설치하는 방법으로는 2가지가 있습니다.

SCSS 컴파일 형식
nested : 뎁스별로 구분해서 컴파일
compact : 요소에 스타일이 속성을 한 줄씩 정렬해서 컴파일
expanded : 요소에 모든 스타일을 한 줄에 컴파일
compressed : 모든 요소를 공백 없이 컴파일

  • Node.js
    • 장점: 컴파일 속도가 빠르다.
    • 단점: compact 형식으로 변환 시, 코드마다 줄 바꿈이 돼서 컴파일된다.
// CSS
/* Node Compact 방식 */
#wrap {color: red;}

#wrap div {font-weight: bold;}

#wrap div span {font-size: 16px;}

#container {color: black;}

#container div {font-weight: normal;}
  • Ruby
    • 장점: compact 형식으로 변환 시, SCSS에서 줄바꿈 설정한 그대로 컴파일된다.
    • 단점: 컴파일 속도가 느리다.
// CSS
/* Ruby Compact 방식 */
#wrap {color: red;}
#wrap div {font-weight: bold;}
#wrap div span {font-size: 16px;}

#container {color: black;}
#container div {font-weight: normal;}

compact 형식을 장단점으로 사용한 이유는 CSS 한 줄씩 줄 바꿈을 하여 작성한다면 나중에 코드의 양이 방대해져서 가독성을 떨어지기 때문입니다. (라는 개인적인 생각입니다...)

그러므로 저는 compact 형식의 컴파일을 원하기 때문에 Ruby를 이용하겠습니다.

💎 Ruby를 이용해 SCSS 설치하기

Ruby 다운로드 페이지에서 Ruby+Devkit 2.x(버전)을 다운 받습니다.


여기서 Path 설정을 꼭 해줍니다.

설치가 완료된 후, 명령 프롬프트(cmd)를 실행한 후 아래 명령어를 입력해줍니다.

gem install sass


명령어

컴파일 방법 sass input.scss output.css

compact 형식으로 컴파일
sass --style compact input.scss out.css

Map 파일 제외하고 컴파일
sass --sourcemap=none input.scss output.css

자동 컴파일 방법
sass --watch input.scss:output.css

자동으로 Map 파일 제외하고 컴파일
sass --watch --sourcemap=none input.scss:output.css

자동으로 compact 형식으로 컴파일
sass --watch --style compact input.scss

자동으로 Map 파일 제외하고 compact 형식으로 컴파일
sass --watch --sourcemap=none --style compact input.scss

 

저작자표시 (새창열림)

'Frontend > Tech Insight' 카테고리의 다른 글

Storybook addon-controls 사용하기!  (1) 2020.11.07
cra + typescript + storybook 프로젝트 만들기  (0) 2020.11.06
유용한 Sass(SCSS)  (0) 2020.11.03
크로스 브라우징이란?  (0) 2020.11.01
Sass(SCSS) 문법  (0) 2020.10.28
'Frontend/Tech Insight' 카테고리의 다른 글
  • cra + typescript + storybook 프로젝트 만들기
  • 유용한 Sass(SCSS)
  • 크로스 브라우징이란?
  • Sass(SCSS) 문법
끄적끄적 개발자
끄적끄적 개발자
생각나는 대로 끄적끄적, 코드 노트
  • 끄적끄적 개발자
    코딩을 끄적끄적
    끄적끄적 개발자
  • 전체
    오늘
    어제
    • 분류 전체보기 (47)
      • Frontend (43)
        • Tech Insight (24)
        • Dev Practice (7)
        • React Hook Form (4)
        • Module Federation (3)
        • Clone coding (5)
      • UIUX (2)
      • ETC (2)
  • 인기 글

  • 태그

    개발/언어
    회고
    개발/코드품질
    UI/UX
    개발/기술
    개발/정보
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
끄적끄적 개발자
Sass(SCSS) 시작하기
상단으로

티스토리툴바