Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 2022
- returnType
- click and drag
- reactjs
- 제네릭
- const 단언문
- NonNullable
- typescript
- 개발콘텐츠
- 커스텀
- 타입좁히기
- 성능최적화
- vue.js
- TSDoc
- React Native
- utilty type
- 레이아웃쪼개기
- 티스토리꾸미기
- React.js
- react
- CSS
- 타입스크립트
- 반복줄이기
- JS console
- 공통컴포넌트
- 누구나 자료구조와 알고리즘
- 리액트
- Chart.js
- 폰트적용하기
- javascript
Archives
- Today
- Total
몽땅뚝딱 개발자
[Vue.js] Vue.js에서 Sass(SCSS) 사용하기 본문
Sass에 대한 간단한 소개와 문법은 이 글에서 볼 수 있다.
◽ Sass 설치
npm i sass
npm i sass-loader@10
◽ Sass 사용하기
<style> 태그안에 lang="scss"을 추가한다.
/* vue 템플릿의 <style>에서 사용한다. */
<style lang="scss">
...CSS 정의
</style>
아래와 같이 변수를 선언하고 사용할 수 있다.
<style lang="scss">
$main_color: rgb(238, 238, 238);
body {
background-color: $main_color;
}
</style>
◽ 변수 분리하기
변수가 많아지는 경우 변수를 따로 모아놓는 파일을 만든다.
📄 src/assets/_variabled.scss
/* _variabled.scss */
/* _가 붙은 scss 파일은 변수만을 저장하는 파일로 인식된다. */
$global_width: 1200px;
$border_color: red;
$primary-color: black;
📄 src/views/index.vue
<style lang="scss">
// 이렇게 import하여 사용할 수 있다.
@import "../assets/_variabled.scss";
body {
background-color: $primary-color;
}
</style>
◽ 전역 설정
하지만 모든 vue에서 변수를 쓸 때 마다 매번 변수파일을 @import 할 수는 없는 노릇이다.
그래서 전역으로 해당 변수를 사용할 수 있도록 설정한다. (파일 만든 후 재빌드하는 것.. 잊지말자!)
// vue.config.js
// cli 3부터는 이 파일을 만들어준다.
module.exports = {
css: {
loaderOptions: {
scss: {
// 이 옵션에 변수를 모아둔 파일을 연결한다.
additionalData: `
@import "@/assets/_variabled.scss";
`,
},
},
},
};
변수가 담겨있는 _variabled.scss 파일이 전역으로 설정되었기 때문에 @import를 하지않아도 변수를 바로 사용할 수 있다.
// test.vue
<style lang="scss">
body {
background-color: $primary-color;
}
</style>
출처 및 참고
[ Vue Error ] sass-loader 설치 오류
개인적으로 공부한 내용을 정리하는 블로그로
잘못된 개념을 게시하지않도록 주의하고 있으나 오류가 있을 수 있습니다.
'Development > Vue.js' 카테고리의 다른 글
[Vue.js] vue-cli3 설정파일 정리 (0) | 2021.12.07 |
---|---|
[Vue.js] import 사용 시 경로에 별칭 사용하기 / @ (vue-cli 3~) (0) | 2021.12.07 |
[Vue.js] 디렉티브(Directive) - (1) (0) | 2021.11.30 |
[Vue.js] 체크박스 선택 시 효과주기 (0) | 2021.11.27 |
[Vue.js] checkbox, radio, select 값 가져오기 / 기본값 설정 (0) | 2021.11.17 |
Comments