我想将我的react 代码部署到GitHub页面,但显然,它不支持BrowserRouter.后来我发现我需要使用HashRouter,但由于某种原因,页面不能工作.它只需将div设为根目录,其他任何内容都不会呈现.我try 呈现单个页面,但也不起作用.

Code for BrowserRouter:

import Home from './pages/Home.js'
import Skills from './pages/Skills.js'
import Test from './pages/test.js'
import {
  BrowserRouter,
  Routes,
  Route
} from "react-router-dom";
import Attributions from './pages/Attributions.js';
import { Social } from './pages/Social.js';
import { Experience } from './pages/Experience.js';
import { Projects } from './pages/Projects.js';
import Chart from './components/Chart.js';
function App() {
  return (
    <BrowserRouter>
      <Routes>
        <Route exact path="/" element={<Home/>} />
        <Route exact path="/Skills" element={<Skills/>} />
        <Route exact path="/Attributions" element={<Attributions/>} />
        <Route exact path="/Experience" element={<Experience />} />
        <Route exact path="/Projects" element={<Projects />} />
        <Route exact path="/Socials" element={<Social/>} />
        <Route exact path="/test" element={<Test/>} />
        <Route exact path="/Chart" element={<Chart/>} />
      </Routes>
    </BrowserRouter>
    
  );
}

export default App;

Code for HashRouter:

import Home from './pages/Home.js'
import Skills from './pages/Skills.js'
import Test from './pages/test.js'
import {
  HashRouter,
  Routes,
  Route
} from "react-router-dom";
import Attributions from './pages/Attributions.js';
import { Social } from './pages/Social.js';
import { Experience } from './pages/Experience.js';
import { Projects } from './pages/Projects.js';
import Chart from './components/Chart.js';
function App() {
  return (
    
    <HashRouter>
      <Routes>
      <Route exact path="/" component={Home}/>
      <Route exact path="/Skills" component={Skills} />
      <Route exact path="/Attributions" component={Attributions} />
      <Route exact path="/Experience" component={Experience} />
      <Route exact path="/Projects" component={Projects} />
      <Route exact path="/Socials" component={Social} />
      <Route exact path="/test" component={Test} />
      <Route exact path="/Chart" component={Chart} />
      </Routes>
    </HashRouter>
  );
}

export default App;

所有的代码都在这里https://github.com/kakhil2004/Portfolio

推荐答案

要在Github页面上托管你的应用程序,你需要使用HashRouter,并确保你的Package.json文件指定的homepage与应用程序的托管位置相匹配.我看你的是"homepage": "http://kakhil2004.github.io/Portfolio",,所以再判断一下是不是正确的.

即使您使用的是HashRouter,react-router-dom@6Route组件仍然需要将它们的内容作为JSX呈现在elementprops 上.

示例:

<HashRouter>
  <Routes>
    <Route path="/" element={<Home />} />
    <Route path="/Skills" element={<Skills />} />
    <Route path="/Attributions" element={<Attributions />} />
    <Route path="/Experience" element={<Experience />} />
    <Route path="/Projects" element={<Projects />} />
    <Route path="/Socials" element={<Social />} />
    <Route path="/test" element={<Test />} />
    <Route path="/Chart" element={<Chart />} />
  </Routes>
</HashRouter>

Node.js相关问答推荐

MongooseError[MissingSchemaError]:尚未为模型注册架构

动态设置元数据,无需重复请求 NextJS 13

发布请求不使用 Nodejs 更新 MongoDB 中的标头信息

bcrypt.compare 每次都返回 false

如何在 Firestore 函数上使用类型模型来获取字段值

无法截取页面截图

express 和 mongoose 的新密码不正确

在 linux mint 上部署 node 应用程序的最简单方法是什么?

为什么 client.on("messageCreate") 的 TextChannel 中缺少 nsfw 属性?

使用 NPM 三个 mocha+typescript 进行测试

在 nodejs 中使用 multer 上传文件返回未定义的 req.file 和空的 req.body

如何解决 npm install react-select failure with error : An unknown git error occurred, git@github.com :Permission denied (publickey)

表达限制资源属于特定用户的优雅方式

node_modules 中 .bin 文件夹的用途是什么?

如何使用 UglifyJS 缩小文件夹中的多个 Javascript 文件?

如何监控 node.js 上的网络,类似于 chrome/firefox 开发者工具?

node.js 中存储的模块变量在什么范围内?

在 Node 中连接和缩小 JS 文件

expressjs app.VERB 调用中的 next() 和 next('route') 有什么区别?

node.js 中的意外保留字导入