在react-boilerplate上设置basename

时间:2016-05-27 14:28:18

标签: reactjs react-router react-boilerplate

我正在配置react-boilerplate来启动项目。

我们的开发环境发布了#34; dev"子路径中的应用版本,例如:example.org/test/project-name

然后,当我们发布项目时,它会保持在example.org/

我想使用浏览器历史记录(HTML5 API),而不是哈希历史记录。但这意味着我必须设置React Router的basename以匹配当前环境。

现在,我试图以这种方式设置静态基本名称:

const browserHistory = useRouterHistory(useBasename(createHistory))({
  basename: '/test/project-name',
});
const store = configureStore(initialState, browserHistory);

但是当我运行该应用程序时,主页仍然是/而不是/test/project-name/


所以,问题是:

  1. 我做错了什么?
  2. 如何使基本名称与当前环境匹配?

1 个答案:

答案 0 :(得分:-1)

答案在react-router documentation

  

请注意,useRouterHistory已经使用历史记录中的useQueries和useBasename增强器预先增强了您的历史记录工厂​​。

import { useRouterHistory } from 'react-router'
import { createHistory } from 'history'

const history = useRouterHistory(createHistory)({
  basename: '/base-path'
})