小编Mon*_*ist的帖子

Facebook Share 未从 Gatsby 站点获取 OpenGraph 元标记

在 Gatsby 网站上,我有一个seo.js使用 React Helmet的 SEO 组件,该组件在博客模板中调用blog.js。但是 Facebook Share 无法识别 opengraph 标签。该站点托管在 Gatsby Cloud 上,而不是 Netlify。

我在网上搜索了答案,但找不到任何东西。这篇文章没有成功。它似乎没有缓存,重新抓取没有任何作用。

直接查看页面源时当然会出现标签。在这里完全不知所措。其他具有类似设置的站点工作正常。¯\_(?)_/¯

如果有人遇到过类似的问题,我很想听听他们是如何解决这个问题的。想法?谢谢。

下面的代码和错误示例:

# seo.js

import React from 'react'
import PropTypes from 'prop-types'
import { Helmet } from 'react-helmet'
import { useStaticQuery, graphql } from 'gatsby'

function SEO({ description, lang, meta, title, pageUrl, image, post, children }) {
  const { site } = useStaticQuery(
    graphql`
      query {
        site {
          siteMetadata {
            title
            description
            siteUrl
            author
          }
        } …
Run Code Online (Sandbox Code Playgroud)

facebook-opengraph gatsby

6
推荐指数
1
解决办法
1858
查看次数

组件内导航防护回调不起作用:Nuxt JS 和 `beforeRouteEnter`

我有一个使用 Nuxt JS 构建的搜索表单和一个结果页面。如果表单返回错误,我正在尝试将结果页面重定向pages/results/index.vue回搜索页面pages/search/index.vue

我正在尝试根据 Vue 文档使用组件内保护

根据文档:

但是,您可以通过将回调传递给 next 来访问该实例。确认导航时将调用回调,并将组件实例作为参数传递给回调:

beforeRouteEnter (to, from, next) {
  next(vm => {
    // access to component instance via `vm`
  })
}
Run Code Online (Sandbox Code Playgroud)
beforeRouteEnter (to, from, next) {
  next(vm => {
    // access to component instance via `vm`
  })
}
Run Code Online (Sandbox Code Playgroud)

我的主要问题是next()导航守卫中函数中的回调似乎无法重新路由页面。

(页)

// version info

??? nuxt@2.10.1
? ??? @nuxt/builder@2.10.1
? ? ??? @nuxt/vue-app@2.10.1
? ?   ??? vue@2.6.10  deduped
? ??? @nuxt/core@2.10.1
?   ??? @nuxt/vue-renderer@2.10.1 …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vue-router vuejs2 nuxt.js

5
推荐指数
1
解决办法
2510
查看次数