Sass는 CSS pre-processor로 CSS의 한계와 단점을 보완하여 보다 가독성이 높고 코드의 재사용에 유리한 CSS를 생성하기 위한 CSS의 확장(extension)이다
Sass는 SASS 표기법(.sass)과 SCSS 표기법(.scss)이 있다. 이전 버전에서는 SASS 표기법이 기본 표기법이었으나 Sass 3.0부터 CSS 친화적인 SCSS(Sassy CSS) 표기법이 기본 표기법이 되었다.
따라서 본 시리즈에서는 Scss표기법을 기본으로 한다
Sass의 추가 기능과 도구
Sass의 장점
$ npm i -g sass
$ sass --version
1.57.1 compiled with dart2js 2.18.6
// (foo.scss)
$font_color: #333;
$background_color: #00c;
$font_family: Arial, sans-serif;
$font_size: 16px;
body {
color: $font_color;
font: {
size: $font_size;
family: $font_family;
}
}
.container {
background-color: $background_color;
}
$ cd project
$ sass foo.scss:foo.css
body {
color: #333;
font-size: 16px;
font-family: Arial, sans-serif;
}
.container {
background-color: #00c;
}
/*# sourceMappingURL=foo.css.map */
$ sass src/sass:dist/css
src/sass 디렉터리의 모든 파일을 dist/css 디렉터리안에 css 파일로 트랜스파일링
npm script를 이용하여 간단한 명령어로 변경하기위해 package.json 생성
$ cd project
$ npm init -y
{
"name": "exsass",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build:sass": "sass src/sass:dist/css"
},
"keywords": [],
"author": "",
"license": "ISC"
}
$ npm run build:sass
$ sass --style expanded src/sass:dist/css
# 위와 동일
$ sass src/sass:dist/css
$ sass --style compressed src/sass:dist/css
$ sass --watch src/sass:dist/css
참조 : poiemaweb