【发布时间】:2018-05-18 07:00:27
【问题描述】:
我设计了一个博客,我希望在分享到社交网络时,预览图像显示为Medium's 帖子中的样子
<meta property="og:image" content="https://medium.com/js-dojo/getting-your-head-around-vue-js-scoped-slots-281bf82a1e4e"/>
我使用 vuejs2 与 webpack 和 vue-meta 来更改我的帖子的动态图像。 但是对于 Facebook,即使我将它们放在 index.html 中也不起作用。
我找到this article on medium ,那里说有必要使用Server Side Rendered,但是没有说如何从一个完全设计的具有基本配置(没有SSR)的项目迁移到一个解决问题的项目。架构已经不同了,我没有参考
这是我的代码vue-meta
metaInfo () {
return {
title: '41devs | blog',
titleTemplate: '%s - le titre',
meta: [
{name: 'viewport', content: 'user-scalable=no'},
{property: 'og:title', content: 'title'},
{property: 'og:type', content: 'article'},
{property: 'og:url', content: 'http://c5e3b0ec.ngrok.io/blog/s'},// here it is just ngrok for my test
{property: 'og:description', content: 'description'},
{property: 'og:image', content: 'https://firebasestorage.googleapis.com/v0/b/dev-blog-2503f.appspot.com/o/postsStorage%2F-KxXdvvLqDHBcxdUfLgn%2Fonfleck?alt=media&token=24a9bf5b-dce2-46e8-b175-fb63f7501c98'},
{property: 'twitter:image:src', content: 'https://firebasestorage.googleapis.com/v0/b/dev-blog-2503f.appspot.com/o/postsStorage%2F-KxXdvvLqDHBcxdUfLgn%2Fonfleck?alt=media&token=24a9bf5b-dce2-46e8-b175-fb63f7501c98'},
{property: 'og:image:width', content: '1000'},
{property: 'og:site_name', content: '41devs | blog'}
]
}
}
【问题讨论】:
-
你找到解决办法了吗?
-
我验证的答案在这个问题上启发了我很多。事实上,由于 vuejs 基本上是为制作 SPA 而开发的,因此附加元数据并不直观,这些元数据将从第三方读者(如 Facebook、谷歌、推特)的不同页面读取;瓦萨普。一种解决方案是使用 Nuxt.js,即使您的应用程序不断发展,它也会生成您需要的元数据。
标签: facebook-graph-api vue.js vuejs2 vue-meta