关于react-router4的BrowserRouter的问题?

我使用create-react-app脚手架创建项目
我看文档说明BrowserRouter使用h5的historyAPI,如果在localhost:8080/test这个url下刷新,会返回404,因为会向这个地址发起请求。

问题是,为什么我本地在这个url下刷新不会404呢?理论上应该是404的啊

我使用yarn buld打包上传到githug pages上后,在localhost:8080/test下刷新会404,这是为什么呢?难道create-react-app对本地做了处理?

阅读 2.3k
1 个回答

本地不会404的原因是webpack-dev-server配置了historyApiFallback。但你上线之后的服务器,或者说传到githug pages上,就不会用到webpack-dev-server了。webpack-dev-server只在开发时有用,启动本地服务,提高效率。

关于webpack-dev-server的配置

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题