无终端虚拟主机部署Laravel 10+Vite:解决manifest未找到错误
解决Laravel 10 + Vite部署虚拟主机时的manifest.json找不到问题
确认本地build产物完整性
本地执行npm run build后,务必检查项目根目录的public/build文件夹,确认包含manifest.json及所有编译后的静态资源(js、css、媒体文件等)。如果缺失:- 删除
node_modules、package-lock.json(或yarn.lock),重新执行npm install && npm run build - 检查
vite.config.js的build配置,确保输出目录和manifest生成开启:export default defineConfig({ build: { outDir: 'public/build', manifest: true, }, // 其他配置项 })
- 删除
验证上传的文件路径与权限
- 确保
public/build文件夹完整上传至虚拟主机的对应路径(即错误提示的/home/exampleuser/example/public/build),不要遗漏任何子文件或子目录 - 通过主机文件管理器设置权限:
public/build文件夹设为755,内部文件设为644,避免因权限问题导致文件无法读取
- 确保
修正Laravel环境配置
- 主机的
.env文件中,APP_URL必须设置为你的域名(如APP_URL=https://your-domain.com),确保资源路径生成正确 - 若存在
ASSET_URL配置,确认其指向正确的静态资源路径(仅当静态资源通过CDN/子域名托管时需要,默认无需设置)
- 主机的
强制刷新配置缓存
本地执行以下命令后,清空bootstrap/cache文件夹并重新上传至主机:php artisan config:clear php artisan cache:clear注意:不要将本地的
.env文件上传到主机,主机需单独配置自己的.env检查视图中的Vite调用
确保视图中使用Laravel官方的Vite助手函数加载资源,避免手动硬编码路径:@vite(['resources/css/app.css', 'resources/js/app.js'])
内容的提问来源于stack exchange,提问作者irakli qiria
相关产品推荐
相关产品推荐

