首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用客户端路由

禁用客户端路由
EN

Stack Overflow用户
提问于 2020-11-11 05:41:17
回答 1查看 181关注 0票数 2

我有一个静态页面,它由Go应用程序根据请求的路径呈现(带有额外的数据)。这可以很好地工作,但是React无法加载,因为Gatsby无法根据给定的路径找到page-data.json。

我已经尝试使用“@wardpeet/gatsby- plugin -static-site”插件禁用客户端路由,但是问题仍然存在。

我使用默认的gatsby模板,修改后的html.js没有任何或标记。

我想完全禁用客户端路由(并删除app-data.json/page-data.json文件),或者至少将任何请求路由到相同的文件,这样我就可以部署站点而不管域路径。

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2020-11-19 22:26:59

我不确定我是否正确理解了您的情况,但我总结了以下几点:

  • 在浏览器中运行后,Gatsby将无法找到您的app-data.jsonpage-data.json文件;
  • 您的Gatsby站点似乎是从非根路径(例如www.example.com/some/more/path/(gatsby site)).

)提供的

如果这就是全部内容,那么您需要的只是在构建gatsby站点时使用set a "Path Prefix"。简而言之,您需要做的是:

  1. 在站点的gatsby-config.js中,导出一个名为'pathPrefix‘的属性,该属性指定为站点提供服务的路径。例如:

代码语言:javascript
复制
module.exports = {
  pathPrefix: `/blog`,
}

  1. 在构建站点时,将标志--prefix-paths传递给gatsby命令。例如:

代码语言:javascript
复制
gatsby build --prefix-paths

这两个步骤都是必需的,否则,您将看不到任何区别。一旦您这样做了,客户端Gatsby应用程序应该能够正确地获取所有需要的文件。

您不需要禁用客户端路由。客户端路由几乎总是一件好事,因为它使页面之间的导航速度大大加快。你应该删除这个插件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64777172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档