我有一个静态页面,该页面由Go Application根据请求的路径呈现(带有其他数据)。 效果很好,但是React无法加载,因为Gatsby无法根据给定的路径找到page-data.json。
我已经尝试使用'@ wardpeet / gatsby-plugin-static-site'插件禁用客户端路由,但是问题仍然存在。
我将默认的gatsby模板与经过修改的html.js一起使用,并且不带任何或标签。
我想完全禁用客户端路由(并删除app-data.json / page-data.json文件)或至少将任何请求路由到同一文件,因此无论域路径如何,我都可以部署站点
预先感谢
答案 0 :(得分:0)
我不确定我是否正确理解了你的情况,但我总结了以下几点:
app-data.json
和page-data.json
文件; www.example.com/some/more/path/(gatsby site)
)。如果仅此而已,那么您想要的只是在构建盖茨比站点时set a "Path Prefix"。简而言之,您需要做的是:
gatsby-config.js
中,导出一个名为“ pathPrefix”的属性,该属性指定将从其提供网站服务的路径。例如:module.exports = {
pathPrefix: `/blog`,
}
--prefix-paths
传递到gatsby
命令。例如:gatsby build --prefix-paths
这两个步骤都是必需的,否则,您将看不到任何区别。完成此操作后,客户端Gatsby应用程序应该能够正确提取所有必需的文件。
您不需要禁用客户端路由。客户端路由几乎总是一件好事,因为它可以大大加快页面之间的导航。您应该删除该插件。