在盖茨比的404页面上显示URL

时间:2018-04-30 17:49:10

标签: javascript url http-status-code-404 gatsby

盖茨比可以轻松创建自己的自定义404页面docs here,但我想在页面上显示消息内的URL - 例如:

  

'/ example / nope'没有页面。

有没有办法从404页面中访问失败的网址?

虽然我找不到任何与之相关的文档,但似乎404页面收到一个history对象作为其中一个道具,但是这个对象实际上并不包含任何历史URL,只有一个api导航到以前的状态和当前的URL(/404)。

1 个答案:

答案 0 :(得分:3)

我看了Gatsby如何为自己的开发404页面处理它,这里是来自`gatsby / dist / internal-plugins / dev-404-page / raw_dev的相关行:

 render() {
    const pathname = this.props.location.pathname
    ...
    return (
      ...
        <p>
          {`There's not a page yet at `}
          <code>{pathname}</code>
        </p>
     )
   }

所以它使用的道具对象的location.pathname不是指当前的404页面网址,而是引起404的网页网址。

注意:如果您在开发过程中访问/404以查看自己的404页面时,这将无法正常工作,因为没有生成404以响应丢失的页面,因此location.pathname将是/404