关于react-router的browserHistory的问题

#1

首先,使用browserHistory,必定会碰到404的问题

目前普遍做法 是通过 服务器 进行协调

例如express中重定向 或 修改nginx的配置文件
当404状态的时候 重新加载入口的html。

那么现在希望,f5或回车地址栏的时候,重新加载当前路由所需挂载的组件。。这该怎么处理

(能否完全禁止 用户 通过 输入地址栏 或 刷新的方式 去请求服务器内容)
(最好是通过拦截的方式,并且拦截后调用 browserHistory.push API)

怎么串起来?

我也尝试了使用 beforeunload 事件
但是,总是会弹个框,而且return false 还会继续执行。

#2

楼主解决了吗 同样的问题

#3

不会有这样的问题啊,后台 server 捕获所有路由,然后全部指向 index.html,这样就将路由交给前端来处理了啊。

#4

不要url重定向, 而是直接返回index.html内容, 这样客户端能保持前端路由.
这是一个koa的例子: https://github.com/yinxin630/fiora/blob/next/src/server/app.js#L21-L36

#5

配置webpack就行了