You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React应用部署Vercel后空白页,报‘rh is not a function’错误求助

解决React 18 + Vite + React Router部署Vercel后报‘rh is not a function’的问题
  • 调整Vite的base配置
    Vite不依赖Create React App的homepage字段,需在vite.config.js/vite.config.ts中配置base属性:

    • 部署到Vercel根域名时,设为'/'
    • 部署到子路径(如仓库名子域名)时,设为'/你的仓库名/'
      示例配置:
    import { defineConfig } from 'vite'
    import react from '@vitejs/plugin-react'
    
    export default defineConfig({
      plugins: [react()],
      base: '/',
    })
    
  • 修正React Router路由写法
    确保使用React Router v6+的规范写法:

    • 用Routes替代旧版Switch
    • Route组件的element属性传入JSX,而非组件引用
      错误示例:
    <Route path="/" component={Home} />
    

    正确示例:

    <Route path="/" element={<Home />} />
    
  • 强制清除Vercel缓存重部署
    Vercel缓存的旧构建产物可能引发异常,操作步骤:

    1. 进入Vercel控制台对应项目的Deployments页面
    2. 选择最新部署记录,点击Redeploy
    3. 取消勾选Use existing Build Cache,强制重新构建
  • 校验依赖版本兼容性
    确保react、react-dom、react-router-dom与vite版本兼容:

    • React 18需搭配react-router-dom v6.3.0+、vite v3.0.0+
      执行以下命令重新安装兼容依赖:
    rm -rf node_modules package-lock.json
    npm install
    
  • 本地复现生产环境问题
    先在本地构建生产包并预览,便于排查代码问题:

    npm run build
    npx serve dist
    

    如果本地预览也出现相同错误,可直接在本地调试定位问题(比如检查未正确导出的函数、依赖开发环境变量的逻辑等)

内容的提问来源于stack exchange,提问作者thanhung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 12:43:19