Quasar SSR) meta 설정하기
Vue.js 와 Quasar 프레임워크를 사용하면서 한동안 해결하지 못했던 문제를 정리해본다.
Quasar 프레임워크에는 SSR(Server Side Rendering) 을 제공해준다.
Prefetch 기능인데, 해당 기능으로 SSR 작업을 하면된다.
여기서 문제가 있었는데, 바로 meta data 설정이다.
export default {
meta: {
title: 'Index Page',
titleTemplate: title => `${title} - My Website`,
}
}
물론 위처럼하면 정적 데이터를 가지고 title을 설정해주는것이니 아무런 문제가 없다.
하지만
export default {
meta: {
title: this.getData.title,
titleTemplate: title => `${title} - My Website`,
},
preFetch({ store, currentRoute, previousRoute, redirect, ssrContext }) {
let params = currentRoute.params.id;
return store.dispatch("project/fetchData", data);
}
computed: {
...mapGetters("project", ["getData"]),
}
}
위 처럼, preFetch 의 데이터를 바로 가져오려고 하면 getData가 없다며 오류를 발생시킨다.
그럼 어떻게 해결해야할까?
나는 이와 같은 방법으로 meta 설정을 하였다.
export default {
meta(){
return {
title: this.getDataFunction.title,
titleTemplate: title => `${title} - My WebSite`
}
},
preFetch({ store, currentRoute, previousRoute, redirect, ssrContext }) {
let params = currentRoute.params.id;
return store.dispatch("project/fetchData", data);
}
computed: {
...mapGetters("project", ["getData"]),
getDataFunction(){
return this.$store.state.project.data || {}
}
}
}
이미 sotre.dispatch() 를 통해 state에 저장해준 값을 가져오는것이기때문에, 위처럼 작업해주면 SSR에서도 meta data를 쉽게 설정해줄 수 있다.
'Programming > Vue.js' 카테고리의 다른 글
Vue.js(Quasar) 데이터 매칭문제 해결 (0) | 2020.01.29 |
---|---|
Vue.js 플러그인 사이트 (0) | 2020.01.13 |
Quasar 프레임워크 SSR (0) | 2020.01.13 |
(Vue.js 오류 해결) 같은 경로일때 로드가 되지 않는 문제. (0) | 2018.03.16 |
Vue 관련 스크립트 모음 (0) | 2018.02.28 |
댓글
이 글 공유하기
다른 글
-
Vue.js(Quasar) 데이터 매칭문제 해결
Vue.js(Quasar) 데이터 매칭문제 해결
2020.01.29 -
Vue.js 플러그인 사이트
Vue.js 플러그인 사이트
2020.01.13 -
Quasar 프레임워크 SSR
Quasar 프레임워크 SSR
2020.01.13 -
(Vue.js 오류 해결) 같은 경로일때 로드가 되지 않는 문제.
(Vue.js 오류 해결) 같은 경로일때 로드가 되지 않는 문제.
2018.03.16