vue2 SCSS 전역 스타일 적용 및 Invalid options object 에러 해결

2023. 12. 17. 01:57· Frontend/vuejs & reactjs

 

토이 프로젝트에 scss를 적용했는데 전역 스타일 적용 후 빌드 할 때 에러가 났다.

먼저 나는 vue2 (vue@2.6.14) 버전을 이용중.

 

여기서 전역 스타일 설정이란,

매번 스타일 영역에서 scss파일을 import하지 않고 사용하는 설정을 말한다.


scss 설치

npm install --save-dev node-sass sass-loader

 

위와 같이 설치하고, 아래와 같이 전역 설정을 해주자.

 


vue.config.js

module.exports = {
  ...
  css: {
    loaderOptions: {
      sass: {
        data: `
          @import "@/assets/scss/_variables.scss"
        `
      }
    }
  }
}

 

그리고 빌드.

 


ValidationError: Invalid options object.

 ERROR  Failed to compile with 1 error

 error  in ./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=scss

Syntax Error: ValidationError: Invalid options object. Sass Loader has been initialized using an options object that does not match the API schema.
 - options has an unknown property 'data'. These properties are valid:
   object { implementation?, sassOptions?, additionalData?, sourceMap?, webpackImporter? }

 

찾아보니 sass loader의 최신버전에서는 data 속성 대신 additionalData를 사용한다고 함.

다시 적용해서 빌드해보자.

 


vue.config.js

module.exports = {
  ...
  css: {
    loaderOptions: {
      scss: {
        additionalData: `
          @import "@/assets/scss/_variables.scss"
        `
      }
    }
  }
}

 

또 에러남

 


SassError: expected ";".

in ./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=scss

Syntax Error: SassError: expected ";".
  ╷
2 │           @import "@/assets/scss/_variables.scss"
  │                                                  ^
  ╵
  src/App.vue 2:50  root stylesheet

 

다행이게도 세미콜론; 누락 에러였다. import뒤에 추가해주자.

 


빌드 성공

module.exports = {
  ...
  css: {
    loaderOptions: {
      scss: {
        additionalData: `
          @import "@/assets/scss/_variables.scss";
        `
      }
    }
  }
}

 

에러는 마주했을 때 겁먹지 않는 게 제일 중요한 것 같다.

728x90
저작자표시 (새창열림)

'Frontend > vuejs & reactjs' 카테고리의 다른 글

React 기초 그리고 입문2  (1) 2024.10.15
React 기초 그리고 입문1  (1) 2024.10.14
'Frontend/vuejs & reactjs' 카테고리의 다른 글
  • React 기초 그리고 입문2
  • React 기초 그리고 입문1
민57
민57
IT 개발 및 노션 관련 이것저것
youngdevIT 개발 및 노션 관련 이것저것
민57
youngdev
민57
전체
오늘
어제
  • 분류 전체보기 (105)
    • Dev logs (6)
    • Frontend (4)
      • javascript (19)
      • typescript (0)
      • html & css (4)
      • vuejs & reactjs (3)
      • programmers (1)
      • jsp (1)
    • Backend (38)
      • express (1)
      • php (27)
      • git & linux (7)
      • unity (3)
    • 개발 지식 (22)
      • computer science (3)
      • errors (4)
      • tool (8)
      • util (7)
    • Notion (3)
      • template (1)
      • widget (2)
    • 취미 (2)
      • github (1)
      • game (1)
    • 일상 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 노션위젯
  • 자바스크립트모듈
  • javascript
  • react
  • PHP함수
  • 자바스크립트콘솔
  • vuejs
  • IntelliJ
  • 맥북포맷
  • 동적선택기
  • PHP
  • 리액트입문
  • 오블완
  • 노션
  • javascript-archive
  • 리액트기본
  • 리액트
  • vue
  • vue 토이프로젝트
  • 맥북필수프로그램
  • 웹사이트모음
  • JS
  • miny위젯
  • php기초
  • notion
  • sql문제
  • 토이프로젝트
  • 티스토리챌린지
  • 자바스크립트
  • 리렌더링

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
민57
vue2 SCSS 전역 스타일 적용 및 Invalid options object 에러 해결
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.