-
Syntactically Awesome StylesheetS 의 준말로 기존 css보더 더 편하게 스타일링 할 수 있는 언어다. css에 있는 모든 기능을 포함하고 여기에 더해 변수랑 내부에서 제공하는 함수도 사용할 수 있기 때문에 개발자들의 반복적인 작업을 확 줄여준다. 5년 전에 간단히 홈페이지 만들면서 css를 쓰고 불편하다고 느낀후 지금까지 손댄적이 없었는데 지금은 scss 라는 언어로 더 쉽게 스타일링 할 수 있게 된 것 같다. 이번포스트에서는 scss를 react에 적용하는 방법을 간단히 소개한다.
1. scss 로더 추가
scss는 확장 기능이므로 새로 css로 transformation 해주는 기능이 필요하다. 별도의 로더를 설치하고 스크립트를 실행할 수 있으나 여기선 webpack에 로더를 추가해서 정리하려고 한다. 먼저 아래 명령어로 필요한 라이브러리를 추가한다.
yarn add style-loader css-loader sass-loader node-sass
그리고 webpack.config.js에 css, scss 용 로더를 추가한다.
module.exports = { ... module: { rules: [{ loader: 'babel-loader', test: /\.js$/, exclude: /node_modules/ }, { test: /\.s?css$/, use: [ 'style-loader', 'css-loader', 'sass-loader' ]
2. scss 파일 추가
scss로 쓸 파일을 추가한다. scss 언어 내에 import 기능이 있어 여러 개의 파일로 의존성이 가능하다. 최상위 파일로 styles.scss 을 만들고 예시로 base 폴더 내에 base.scss 파일을 추가한다.
styles.scss
@import './base/base';
base.scss
간단하게 브라우저 전체에 적용될 수 있는 스타일링을 넣었다.
body { background: $dark-blue; font-family: Helvetica, Arial, sans-serif; font-size: 2.4rem; }
3. entry 파일에서 임포트
entry에 해당하는 파일에서 아까 추가한 scss 파일을 임포트 한후 간단한 코드를 넣어 봤다.
import React from 'react'; import ReactDOM from 'react-dom'; import './styles/styles.scss'; ReactDOM.render(<div><h1>This is selfish-developer blog</h1></div>, document.getElementById('app'))
그 결과 아래처럼 스타일링이 된 것을 확인 할 수 있다.
'개발 > react' 카테고리의 다른 글
react router (0) 2020.12.17 redux (0) 2020.12.16 webpack (0) 2020.12.13 localStorage (0) 2020.12.11 Props (0) 2020.12.11