React HashRouter部署GitHub Pages无渲染及本地访问异常问题
问题:GitHub Pages部署后HashRouter无法渲染内容,本地需带#访问
- 部署到GitHub Pages后,HashRouter无法渲染任何内容,控制台无报错
- 本地访问时,必须在路径前添加
#才能正常显示,例如需输入localhost:3000/#/chat-app,而非localhost:3000/chat-app
相关代码
App.js
import SignIn from './Components/SignIn'; import SignUp from './Components/SignUp'; import Home from './Components/Home'; import UserProfile from './Components/UserProfile'; import { HashRouter, Routes, Route } from 'react-router-dom' function App() { return ( <HashRouter> <Routes> <Route path="/chat-app" exact element={<Home />} /> <Route path="/chat-app/signIn" exact element={<SignIn />} /> <Route path="/chat-app/signUp" exact element={<SignUp />} /> <Route path="/chat-app/userProfile" exact element={<UserProfile />} /> </Routes> </HashRouter> ); } export default App;
package.json
{ "homepage": "https://melosshabi.github.io/chat-app", "name": "chat-app", "version": "0.1.0", "private": true, "dependencies": { "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", "firebase": "^9.16.0", "nanoid": "^4.0.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.8.0", "react-scripts": "5.0.1", "universal-cookie": "^4.0.4", "web-vitals": "^2.1.4" }, "scripts": { "start": "react-scripts start", "predeploy": "npm run build", "deploy": "gh-pages -d build", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }, "eslintConfig": { "extends": [ "react-app", "react-app/jest" ] }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "devDependencies": { "gh-pages": "^5.0.0" } }
已尝试的无效方案
- 修改HashRouter的导入方式
- 调整应用名称
- 修改Route的路径配置
内容的提问来源于stack exchange,提问作者Mela
相关产品推荐
相关产品推荐

