dva2.0 该如何正确的使用BrowserHistory?

Created on 30 Jan 2018  ·  14Comments  ·  Source: dvajs/dva

项目使用BrowserHistory 在开发阶段roadhog server 时没遇到问题 但是使用roadhog build打包部署测试环境的时候 访问页面全是白色 打开控制台 对应资源都加载了 但是页面就是白色的?搜了下过往issue也尝了下对应解答的方案 但是 页面始终都白色的
dva2.0有没对应使用 BrowserHistory 的文档?

Most helpful comment

@bibiehy createHistory时候传人配置参数basename

import dva from 'dva';
import createHistory from 'history/createBrowserHistory';
const history = createHistory({
  basename:''//这里放入你对应的 basename
})
const app = dva({
  history: history
});
...

All 14 comments

@lulei90 浏览器肯定报错了,贴出来观摩一下

@yvanwangl
image
image
控制台没有报错

url 没匹配上,部署到非根目录,需要配置 react-router 的 basename

@sorrycc 加过和没加过的都试过 不知道方法是否正确
image

basename 是 createBrowserHistory 传入的,配这里应该没用,具体看 history 库。

@sorrycc 谢谢🙏 问题解决了 之前没用dva前 直接使用的react-router4 所以关于basename使用参考的router4的文档😂

@lulei90 怎么解决的,把Router换成了BrowserRouter嘛?

@bibiehy createHistory时候传人配置参数basename

import dva from 'dva';
import createHistory from 'history/createBrowserHistory';
const history = createHistory({
  basename:''//这里放入你对应的 basename
})
const app = dva({
  history: history
});
...

@lulei90 知道了,谢谢

@lulei90 我这边是开发APP里面的子应用,按照你的处理方式设置basename,还是不行啊;不然懂是不是我设置错了!
我们的子应用地址类似这样
http://app地址/子应用地址
设置const history = createHistory({
basename:'/子应用地址'
})

@Jimi6 配置.webpackrc 中的publicPath:/子应用目录/

一开始正常 但是一刷新就出现Cannot GET /asset/user/login

一开始正常 但是一刷新就出现Cannot GET /asset/user/login

@wxid 需要服务端配置404路由到你项目的index.html页面

@sorrycc 谢谢 问题解决了 之前没用dva前 直接使用的react-router4 所以关于basename使用参考的router4的文档

请问你的问题是怎么解决的?我也尝试配置了一下,但还是白屏

Was this page helpful?
0 / 5 - 0 ratings