在非创建反应应用程序应用程序中替代创建反应应用程序“主页”设置

时间:2020-06-18 13:45:48

标签: reactjs routes create-react-app react-router-dom

在create-react-app应用程序中,在package.json中设置我的主页可以提供期望的结果。我将其设置为: 主页:“ / someUrl”,在我的应用中,如果我的URL是localhost:3000 / someUrl / another,而我刷新后,它就可以正常地到达那里。

在我的非create-react-app应用程序中(它仍然是一个React项目,只是从头开始),如果我按常规方式导航到localhost:3000 / someUrl / other,则可以获取页面,但是如果刷新我得到一个白页: Cannot GET /someUrl/another

有人遇到过这个吗?我试图弄清楚create-react-app中的“ homepage”设置到底是做什么的,以便可以在我的非CRA react应用中重复该设置。

感谢您的帮助, 克里斯

1 个答案:

答案 0 :(得分:0)

让我们尝试使用History HTML5来配置主页,并使用webpack的publicPath配置来配置资产路径。 示例:

import { createBrowserHistory } from "history";
export default createBrowserHistory({
  basename: YOUR_HOME_PAGE,
  hashType: "slash"
});

和内部webpack配置:(如果使用配置路径资产以防止在生产中出现404)

output: {
    path: config.build.assetsRoot,
    filename: utils.assetsPath("js/[name].[chunkhash].js"),
    chunkFilename: utils.assetsPath("js/[id].[chunkhash].js"),
    publicPath: YOUR_HOME_PAGE
}

希望为您提供帮助!