Vue Cli에서 Scss 사용하는 방법
1. npm 모듈 sass & sass-loader 설치
npm install sass
npm install sass-loader@10
2. 전역 설정
Scss를 사용해봤다면 알겠지만, 자주사용하는 속성값을 담아두는 변수(variable), 스타일 재사용을 위한 mixin, reset.scss 같은 것을 담아주는 Scss파일은 별도로 따로 만들어서 관리한다.
이를 Vue 컴포넌트 전역에 import 해올 수 있게 전역 설정을 처리해두면 편하다. 전역 설정은 vue cli 설치시 자동으로 생성되는 vue.config.js에서 확인 할 수 있다.
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
css: {
loaderOptions: {
sass: {
data: ` @import "@/assets/scss/_var.scss"; `,
}
}
}
})
* Vue CLI 3.x 버전에서 vue.config.js 파일에 SCSS 로더 옵션을 정의하는 방법이다.
3. Vue 컴포넌트 내에서 Scss 사용하기
위의 과정을 거쳤다면 Scss를 사용할 수 있는 환경이 마련되었고, _var.scss와 같은 전역에서 사용하는 파일을 import해오는 환경을 구축했기때문에 <style>에 lang="scss" 를 추가해준다면 Scss를 사용할 수 있는 모든 환경이 마련됐다.
<template>
<h1>화면단입니다.</h1>
</template>
<script>
export default {
name: 'App',
components: {
}
}
</script>
<style scoped lang="scss">
body {
background-color: $black;
}
</style>
컴포넌트내부에 Scss를 작성하는 것이 아닌 별도로 파일을 만들어 관리하고싶다면 아래와같이 해당 컴포넌트의 스타일을 작성한 파일을 import해오면 된다.
<template>
<h1>화면단입니다.</h1>
</template>
<script>
export default {
name: 'App',
components: {
}
}
</script>
<style scoped lang="scss">
@import "../assets/scss/_my-conponent.scss";
</style>
반응형
'퍼블리셔 Note > Vue.js' 카테고리의 다른 글
[Vue.js] 로컬 스토리지(localStorage)를 활용한 간단한 로그인 & 로그아웃 기능 만들기 (0) | 2023.10.30 |
---|---|
[Vue.js] 조건부 클래스 바인딩 (0) | 2023.10.25 |
[Vue.js] 사용자가 입력한 data를 감시하는 watcher (0) | 2023.10.15 |
[Vue.js] 라이프 사이클 훅 (Lifecycle Hook) (0) | 2023.09.08 |
[Vue.js] 사용자가 입력한 input 받는 2가지 방법 (0) | 2023.09.07 |