Laravel 9生产环境提示“Vite manifest not found”的方案咨询
Laravel 9部署Vite资源缺失问题的方案选择
针对你遇到的Vite manifest not found错误,下面分析两个方案的优劣及推荐方向:
方案1:生产服务器安装npm并执行npm run build
- 优势:
- 无需提交编译后的静态资源到Git,保持仓库整洁,避免体积冗余
- 生产环境实时编译,确保资源与当前代码版本完全匹配,不会出现本地编译后代码变更但资源未同步的问题
- 劣势:
- 生产服务器需要额外配置Node.js和npm环境,增加部署复杂度,多项目场景下可能存在版本冲突
- 每次部署都要执行编译步骤,拉长部署时间,资源较多时更明显
- 安装npm依赖可能引入安全风险,需要额外维护依赖安全性
方案2:将public/build目录纳入Git仓库,部署时拉取
- 优势:
- 生产服务器无需配置Node环境,部署流程简化,直接拉取代码即可运行
- 编译步骤在本地或CI/CD环境完成,生产环境无需处理资源编译,部署速度更快
- 可提前在本地验证编译结果,避免生产环境编译出错
- 劣势:
- 编译后的静态资源会增大Git仓库体积,长期迭代后仓库会越来越大
- 若本地编译后未同步提交
build目录,会导致生产环境资源与代码不匹配,引发新问题
推荐选择
优先推荐方案2配合CI/CD流程,小型项目无CI/CD时也可直接用方案2:
- 先在本地或CI/CD环境执行
npm run build,然后修改.gitignore文件,移除对public/build的忽略规则,将编译后的资源提交到Git - 这样既不用在生产服务器搭建Node环境,又能保证每次部署的资源与代码版本一致
- 若项目规模较大、对仓库体积敏感,可选择方案1,但建议通过CI/CD自动化完成编译部署,减少手动操作失误
内容的提问来源于stack exchange,提问作者ohho
相关产品推荐
相关产品推荐

