[Vuejs] Node 버전 업데이트시 deprecated
message
상황
Vuejs
프로젝트를 작성 중에 배포를 위해 node 프로젝트를Dockerizing
하는 내용을 검색하기 위해 알아보았습니다.
그러다가 Dockerhub for nodejs 를 들어가게 되었더니….
두둥!!
제가 쓰는 nodejs 버전이 없네요? (7.8.0)
그래서 이 참에 최신버전(당시 8.9.0)으로 nodejs를 올리기로 결정했습니다.
맥용 nodejs 는 이 사이트에서 다운로드 | Node.js 받으시고 그냥 덮어 쓰시면 됩니다.
저는 이상하게 크롬에서 자꾸 다운로드가 실패해서 wget 으로 받았습니다.
$ wget https://nodejs.org/dist/v8.9.0/node-v8.9.0.pkg
문제
설치 후에 vuejs 프로젝트에서 npm install
을 실행하고 npm run dev
를 실행했더니 deprecated 메시지를 발견 했습니다.
“scope” attribute for scoped slots have been deprecated and replaced by "slot-scope"
몰랐는데 이건 또 뭐지? 싶어서 찾아봤더니
Vue 2.5 Scope attribute deprecated replaced by slot-scope · Issue #283 · ratiw/vuetable-2 · GitHub
이런 글이 있네요.
해결
원인은 scope
라는 키워드를 slot-scope
로 바꿔써 써야하는 것이었습니다.
보다 디테일한 내용은
https://kr.vuejs.org/v2/guide/components.html#범위를-가지는-슬롯\
여기서 확인가능합니다.
문서를 보면 위 github의 내용과는 조금 다르게 태그가 더이상 필요없습니다. 그냥 아무 태그나 가져다쓰면 됩니다.
전 이런 형태를,
<template scope="props">
<div class="table-button-container pull-right">
...
</div>
</template>
이렇게 변경 했습니다.
<div slot-scope="props" class="table-button-container pull-right">
...
</div>