我有一个静态页面,它由Go应用程序根据请求的路径呈现(带有额外的数据)。这可以很好地工作,但是React无法加载,因为Gatsby无法根据给定的路径找到page-data.json。
我已经尝试使用“@wardpeet/gatsby- plugin -static-site”插件禁用客户端路由,但是问题仍然存在。
我使用默认的gatsby模板,修改后的html.js没有任何或标记。
我想完全禁用客户端路由(并删除app-data.json/page-data.json文件),或者至少将任何请求路由到相同的文件,这样我就可以部署站点而不管域路径。
提前感谢
发布于 2020-11-19 22:26:59
我不确定我是否正确理解了您的情况,但我总结了以下几点:
app-data.json和page-data.json文件;www.example.com/some/more/path/(gatsby site)).)提供的
如果这就是全部内容,那么您需要的只是在构建gatsby站点时使用set a "Path Prefix"。简而言之,您需要做的是:
gatsby-config.js中,导出一个名为'pathPrefix‘的属性,该属性指定为站点提供服务的路径。例如:module.exports = {
pathPrefix: `/blog`,
}--prefix-paths传递给gatsby命令。例如:gatsby build --prefix-paths这两个步骤都是必需的,否则,您将看不到任何区别。一旦您这样做了,客户端Gatsby应用程序应该能够正确地获取所有需要的文件。
您不需要禁用客户端路由。客户端路由几乎总是一件好事,因为它使页面之间的导航速度大大加快。你应该删除这个插件。
https://stackoverflow.com/questions/64777172
复制相似问题