如何将React App正确部署到子目录?
我通过在线遵循教程将React应用程序部署到子目录中,但是当我专门搜索该子目录时()或刷新子目录,它将我链接回主页。有人知道如何解决这个问题吗?谢谢。
代码。
{
"name": "UUu",
"version": "0.1.0",
"private": true,
"homepage": "https://uuu.vip/boss/",
"dependencies": {
"@material-ui/core": "^4.12.4",
"@material-ui/icons": "^4.11.3",
"@testing-library/jest-dom": "^5.16.4",
"@testing-library/react": "^13.3.0",
"@testing-library/user-event": "^13.5.0",
"node-sass": "^7.0.1",
"react": "^18.1.0",
"react-dom": "^18.1.0",
"react-router-dom": "^6.3.0",
"react-scripts": "^5.0.1",
"web-vitals": "^2.1.4"
},
"scripts": {
"predeploy": "npm run build",
"deploy": "gh-pages -d build",
"start": "react-scripts start",
"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": "^2.8.9",
"gh-pages": "^4.0.0"
}
}
是包装的
import "./App.scss";
import Navbar from "./components/Navbar";
import ScrollToTop from "./components/ScrollToTop"
import Home from "./pages/Home";
import Mission from "./pages/Mission";
import About from "./pages/About";
import Johnny from "./pages/Johnny"
import Shoutouts from "./pages/Shoutouts";
import { BrowserRouter as Router, Route, Routes } from "react-router-dom";
function App() {
return (
<div className="App">
<Router basename="/boss/">
<ScrollToTop/>
<Navbar />
<Routes>
<Route path="/" exact element={<Home />} />
<Route path="/values/" exact element={<Mission />} />
<Route path="/founders/" exact element={<About />} />
<Route path="/boss/" exact element={<Johnny />} />
<Route path="/inspirations/" exact element={<Shoutouts />} />
<Route path="*" exact element={<Home/>} />
</Routes>
</Router>
</div>
);
}
export default App;
这
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /boss/
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ./boss/index.html [L]
</IfModule>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
@jballin建议将Basename更改为路线,这完全解决了问题。
@Jballin suggested to change the basename to routes, and this completely fixed the issue.