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

执行npm run dev关闭终端提示Vite manifest not found怎么办

报错根因

从Laravel 9.18版本开始,前端构建工具从Laravel Mix默认切换为Vite,二者运行逻辑有区别:

  • npm run dev启动的是Vite本地开发热更新服务,不会生成编译后的静态资源与manifest清单文件,服务需要常驻运行才能响应前端资源请求,关闭终端相当于停掉了Vite服务,后端找不到资源清单自然抛出Vite manifest not found错误。
  • 你一个月前安装时关闭终端还能正常访问,是当时版本还未默认切换Vite,Mix的dev模式会生成临时编译文件,不依赖常驻服务。
对应解决方案

根据你的使用场景二选一即可:

  • 本地开发需要热更新效率:保持运行npm run dev的终端窗口不要关闭,Vite开发服务需要后台常驻。如果不想一直占着终端窗口,可以执行nohup npm run dev > /dev/null 2>&1 &把服务挂到系统后台运行,需要停止的时候查对应node进程kill掉即可。
  • 不需要热更新,想关终端也能正常访问:直接执行生产构建命令,提前编译好所有前端资源、生成manifest清单:
    npm run build
    命令执行完成后会在项目public/build目录下生成编译后的js、css文件和manifest.json清单,这时候不管Vite开发服务是否启动,站点都能正常加载资源,登录、注册等需要加载前端资源的功能都能正常使用。
常见问题排查

如果执行完npm run build还是报manifest找不到,优先检查两个配置:

  1. 确认项目public目录有写入权限,构建命令没有因为权限不足生成失败
  2. 检查config/vite.php中的build_path配置值,默认应为build,对应实际生成的public/build目录,不要随意修改该配置

如果本地开发用XAMPP配置了自定义虚拟域名而不是http://localhost,需要在项目根目录的vite.config.js中补充server配置,避免热更新时资源加载404,参考配置如下:

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';

export default defineConfig({
    plugins: [
        laravel({
            input: [
                'resources/css/app.css',
                'resources/js/app.js',
            ],
            refresh: true,
        }),
    ],
    server: {
        host: '你的本地域名',
        port: 3000
    }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 14:18:22