我正在使用“gulp-connect”作为开发服务器,并且我正在尝试实现react router 1.0.0-rc1。
目前我正在使用“createHashHistory”,它会在 URL 中添加类似以下内容的垃圾:?_k=ckuvup,这是故意的,如 document 中定义的那样。 。我对此很满意,直到我将查询字符串与 URL 一起发送,并且我的链接看起来像这样,垃圾邮件附加在域名后面而不是末尾:
http://localhost:8080/#/?_k=y754gg/jobs?latitude=27.686784000000003&longitude=85.2690875&query_location=Liverpool, United Kingdom&query=fjdkf
预期 URL(类似这样):
http://localhost:8080/#/jobs?latitude=27.686784000000003&longitude=85.2690875&query_location=Liverpool, United Kingdom&query=fjdkf/?_k=y754gg
我本可以使用“createBrowserHistory”,它有一个非常清晰的 URL,但问题是: 1)服务器配置。提供的示例仅显示 Express 中的操作方法。我计划在生产中使用 nginx,并在开发中使用 gulp-connect。由于我找不到任何有关如何在此服务器中执行操作的引用,因此我不得不选择“createBrowserHistory”。
2) 我的后端在 Rails 上,如果我通过“public”文件夹中的前端,带有 # 的 URL 应该分隔客户端和服务器路由。但我一直认为必须有一种方法可以在 nginx 中使用 createBrowserHistory 进行一些配置。
这个问题的首要任务是在最后附加 key 的第一部分。任何有关如何在不同服务器中完成配置的引用都将受到赞赏。
最佳答案
您应该能够在创建历史记录时通过设置 queryKey: false
来禁用 URL 哈希:
var history = History.createHashHistory({
queryKey: false
});
关于ruby-on-rails - 在部署上下文中使用 "createHashHistory"与 "createBrowserHistory"的困境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32765779/