我使用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对本地做了处理?
我使用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对本地做了处理?
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
本地不会404的原因是webpack-dev-server配置了historyApiFallback。但你上线之后的服务器,或者说传到githug pages上,就不会用到webpack-dev-server了。webpack-dev-server只在开发时有用,启动本地服务,提高效率。
关于webpack-dev-server的配置