Laravel 10升级后从Vite转回Laravel-Mix,浏览器提示Vite manifest not found
Laravel 9升10后「Vite manifest not found」问题排查方案
替换模板中的资源引入指令
把所有blade文件(包括布局、组件)里的@vite()、@viteReactRefresh()这类Vite专属指令,换成Laravel Mix的引入方式:<!-- 替换前 --> @vite(['resources/css/app.css', 'resources/js/app.js']) <!-- 替换后 --> <link rel="stylesheet" href="{{ mix('css/app.css') }}"> <script src="{{ mix('js/app.js') }}"></script>别漏了嵌套在子视图、组件里的引用,尤其是项目比较复杂的情况。
清除Laravel缓存
运行以下命令清空配置和视图缓存,避免旧配置残留:php artisan config:clear php artisan view:clear移除Vite相关配置与服务
打开config/app.php,找到并删除Illuminate\Foundation\Vite\ViteServiceProvider这条服务提供者;同时检查其他配置文件(比如config/filesystems.php),删除所有Vite相关的配置项。确认Mix配置与输出
检查webpack.mix.js的配置,确保输出路径指向public目录,并且开启了版本控制:mix.js('resources/js/app.js', 'public/js') .css('resources/css/app.css', 'public/css') .version();运行
npm run prod编译后,确认public目录下生成了mix-manifest.json文件——这是Mix识别资源的核心文件,没有它会导致资源加载异常。清理环境变量
打开.env文件,删除或注释掉VITE_APP_URL等所有Vite相关的环境变量,确保Laravel不会再尝试加载Vite的配置。强制刷新浏览器缓存
按Ctrl+Shift+R(Windows/Linux)或Cmd+Shift+R(Mac)强制刷新页面,避免浏览器缓存的旧页面逻辑干扰。
内容的提问来源于stack exchange,提问作者ThurstonLevi
相关产品推荐
相关产品推荐

