1

我正在配置 react-boilerplate 以在其上启动一个项目。

我们的开发环境在子路径中发布应用程序的“开发”版本,例如:example.org/test/project-name

然后,当我们发布项目时,它会继续运行example.org/

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

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

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

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


所以,问题是:

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

1 回答 1

-1

答案在react-router 文档中:

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

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

const history = useRouterHistory(createHistory)({
  basename: '/base-path'
})
于 2016-07-19T17:17:41.737 回答