저는 vue2 프로젝트가 있고 vue-meta 및 vue-i18n을 사용하여 프로젝트를 현지화합니다. 내 브라우저 북마크에는 웹페이지 제목이 표시되지 않고 대신 변수가 표시됩니다. Google Analytics에서도 동일한 문제가 발생하는데, 변수의 값 대신 변수가 표시되는 것 같습니다.
이것은 내 홈 구성요소의 코드 조각입니다:
name: '홈', 메타정보() { 반품 { 제목: this.$t("home.meta.title"), 메타: [{ 이름: "설명", 콘텐츠: this.$t("home.meta.descriptioncontent") }, { 이름: "키워드", 콘텐츠: this.$t("home.meta.keywordscontent") }, { 속성: 'og:title', 콘텐츠: this.$t("home.meta.title")}, { 속성: 'og:site_name', 콘텐츠: 'www.examplesite.se'}, { 속성: 'og:description', 콘텐츠: this.$t("home.meta.descriptioncontent")}, { 속성: 'og:type', 콘텐츠: '홈'}, { 속성: 'og:url', 콘텐츠: 'https://examplesite.se/'}, { 속성: 'og:image', 콘텐츠: 'https://www.examplesite.se' + '/img/' + 'example_logo_social.png'} ] } }, 데이터() { 반품 { fiimagefolder: '../../이미지/', 이미지폴더: '../../fImages/', }; },
그래서 이.$t("home.meta.title") 변수는 스웨덴어와 영어 번역을 저장합니다. 사이트 내부에는 두 언어 모두 올바른 제목이 표시되지만 Google Analytics에는 "home.meta.title"만 표시됩니다.
제가 이해한 바로는 크롤러에 로드된 스크립트가 없기 때문에 크롤러가 내 변수 값을 볼 수 없습니다. 어떤 아이디어가 있나요?
귀하의 코드 중 일부를 보면 설정 방법을 이해할 수 있으면 좋을 것입니다. 그렇지 않으면 우리는 조금 어둡고 도움을 주기 어려울 것입니다. 따라서 이것은 답변이라기보다는 주석에 가깝습니다. 하지만 주석에는 넣을 수 없지만 도움이 될 수 있는 몇 가지 코드를 공유하겠습니다.
vue-i18n을 사용하고 있고 vueMeta를 객체로 정의하고 있다고 가정합니다. 그러나 함수로 정의하면
으아악this.$t
를 포함한 다른 구성 요소 데이터에 액세스할 수 있습니다. 그들은 다음과 같이 협력해야 합니다: