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

Laravel 9集成React遇依赖冲突与@vitejs/plugin-react报错求助

解决Laravel 9中Vite与React插件的依赖冲突及预检测错误

问题根源

Laravel 9默认集成Vite 4.x版本,但通过php artisan ui react安装的@vitejs/plugin-react@2.2.0仅兼容Vite 3.x,这直接导致依赖树解析失败;即便用--legacy-peer-deps强制完成安装,版本不匹配也会触发@vitejs/plugin-react can't detect preamble运行时错误。


解决方案1:升级React插件适配Vite 4.x

这是更推荐的长期方案,避免因降级Vite错过新特性:

  1. 卸载旧版插件:
    npm uninstall @vitejs/plugin-react
    
  2. 安装兼容Vite 4的最新版React插件:
    npm install @vitejs/plugin-react --save-dev
    
  3. 确认vite.config.js配置正确(确保引入并启用react插件):
    import { defineConfig } from 'vite';
    import laravel from 'laravel-vite-plugin';
    import react from '@vitejs/plugin-react';
    
    export default defineConfig({
        plugins: [
            laravel({
                input: ['resources/css/app.css', 'resources/js/app.js'],
                refresh: true,
            }),
            react(),
        ],
    });
    
  4. 重新安装依赖并启动开发服务:
    npm install && npm run dev
    

解决方案2:降级Vite到3.x适配旧版插件

如果暂时不想升级插件,可通过降级Vite解决版本冲突:

  1. 卸载当前Vite版本:
    npm uninstall vite
    
  2. 安装稳定的Vite 3.x版本(例如3.2.7):
    npm install vite@3.2.7 --save-dev
    
  3. 重新安装依赖并启动服务:
    npm install && npm run dev
    

额外排查要点

  • 检查resources/js/app.js的入口代码,确保React相关依赖正确引入:
    import React from 'react';
    import ReactDOM from 'react-dom/client';
    import './bootstrap';
    
  • 确认视图中的@vite(['resources/css/app.css', 'resources/js/app.js'])指令路径拼写无误。
  • 若仍有问题,清空缓存后重装依赖:
    rm -rf node_modules package-lock.json
    npm install && npm run dev
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 15:20:22