是否可以在Gatsby中禁用客户端路由?
我正在使用Gatsby生成一个只有一个页面的静态站点,并将通过AWS / S3提供服务。我遇到了由盖茨(Gatsby)从URL删除对象后缀引起的问题(https://s3.amazonaws.com/top-bucket/sub-bucket/index.html变成https://s3.amazonaws.com/页面和Gatsby运行时加载之后的top-bucket / sub-bucket /)。如果禁用JavaScript,则不会发生此问题,因此,我可以肯定这是由Gatsby使用React / Reach Router引起的。
有什么办法可以禁用此行为?我知道我可能可以在S3上设置重定向以处理对存储桶的请求,但如果可能的话,我希望在应用程序级别执行此操作。
这是一个 hack,可能无法在其他任何人的应用程序中工作,也可能会破坏 Gatsby 的未来版本,但我能够通过window.page.path = window.location.pathname;在 gatsby-browser.js 中进行设置来阻止此重定向。这短路了production-app.js中的条件检查,它试图“使规范路径与实际路径匹配”并导致上面提到的(IMO)意外行为。
| 归档时间: |
|
| 查看次数: |
571 次 |
| 最近记录: |