34得票10回答
在“生产环境”中,当直接通过浏览器访问URL时,GatsbyJs客户端仅路径会跳转到404页面。

我创建了一个Gatsby应用,并在gatsby-node.js中配置了创建仅客户端路径,这些路径在直接访问路径的URL时在开发中都能正常工作,但在生产环境中则不能。 例如:if(page.path.match(/^\/sample/)){ page.matchPath = "/sa...

33得票4回答
可重用的Gatsby-Image组件,具有动态图像源

我正在考虑在我的下一个项目中使用Gatsby-Image,并且已经进行了一些尝试。 我已经在我的测试项目上让它工作了,但是我想要像普通的<img src”image.png”>标签一样,使用Gatsby的<Image />标签。如何使Gatsby的<Image /...

32得票4回答
如何在 Gatsby 中获取当前 URL?

我目前正在使用Gatsby创建分享按钮,希望根据当前的URL分享内容,这取决于环境和当前页面。在GoHugo中,可以使用{{.Permalink}}调用此内容。有人知道如何在Gatsby中实现吗? 我有一个ShareButtons组件,它是BlogPostTemplate的子元素。

31得票5回答
在Gatsby React页面中添加带有<script>的原始HTML

我正在尝试将外部嵌入代码添加到我的Gatsby页面中。 我目前使用的是import React from 'react' import Link from 'gatsby-link' let test ="&lt;script type='text/javascript'&gt; (fu...

31得票4回答
当 useContext 中的值更新时,组件未重新渲染

我正在使用React的context API存储一个项目数组。有一个组件通过useContext()访问该数组并显示数组的长度。另一个组件也可以通过useContext()访问更新该数组的函数。当添加一个项目时,该组件不会重新渲染以反映数组的新长度。当我导航到应用程序中的另一页时,该组件将重新...

30得票3回答
如何在Gatsby.js中向body标签添加动态类?

很明显,这不是一项容易的任务,因为默认情况下在 html.js 模板文件中唯一变化的是头部 meta 标签和内容。 meta 标签由 Helmet 组件处理 ({head.title.toComponent()} 和 {head.meta.toComponent()}),模板中的 HTML ...

30得票7回答
无法在客户端访问Gatsby环境变量

我按照以下方式设置了 .env 文件和 gatsby-config.js。// .env.development GATSBY_API_URL=https://example.com/api // gatsby-config.js console.log(process.env) ... .....

29得票4回答
Gatsby重定向到主页而不是显示404页面

是否有办法将用户重定向到主页(/),而不是显示404页面?

28得票4回答
如何在 Gatsby 中创建动态路由

我使用这个链接设置了gatsby项目。它正在正确地工作。 现在我知道如何通过在pages文件夹中定义组件来创建路由。但现在我有一个新挑战,我需要创建一个动态路由,以便可以在其中传递我的id(就像reactjs一样)。&lt;Route path: "/path/:id"/&gt; 我该如何在...

28得票1回答
我是否应该在生产环境中部署sourcemaps?

我正在部署我的网站 - 这是一个使用 GatsbyJS 构建的静态网站 - 我的源映射文件是迄今为止最大的文件。我有 3 个源映射文件,大小约为 3MB。总体上,它们可能占我构建的 70%。 我应该将它们部署到生产服务器吗? sourcemaps 只会被打开开发工具的用户下载吗?