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

Laravel 9部署无SSH共享主机时出现Vite manifest未找到错误求助

解决方案
  • 确认本地构建产物完整上传
    本地执行npm run build后,项目public/build目录会生成manifest.json及js、css等静态资源文件,需将整个build文件夹完整上传至服务器的public_html/build目录,不要遗漏任何文件。检查FileZilla的上传设置,避免隐藏文件或大文件被误过滤。

  • 修正Vite资源路径配置
    打开本地项目的vite.config.js,修改base配置项适配共享主机路径:若项目部署在域名根目录,设置base: '/';若为子目录(如public_html/laravel-app),则设置base: '/laravel-app/'。示例配置:

    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,
            }),
        ],
        base: '/', // 根据实际部署路径调整
    });
    

    修改后重新执行npm run build,将新生成的public/build文件夹上传至服务器覆盖旧文件。

  • 调整服务器index.php的路径指向
    在服务器的public_html/index.php开头添加以下代码,强制Laravel将public_html识别为公共目录,确保Vite能正确定位build文件夹:

    $app->bind('path.public', function() {
        return __DIR__;
    });
    

    同时确认视图中@vite指令或Vite::asset()生成的资源路径与服务器public_html/build的位置匹配。

  • 清除缓存
    本地执行php artisan cache:clear、php artisan config:clear后重新构建上传;服务器端若开启OPcache,可在CPanel的PHP设置中重启OPcache;浏览器按Ctrl+Shift+R强制刷新,避免加载旧缓存的资源路径。

  • 备选方案:切换至Laravel Mix构建
    若Vite路径问题无法解决,可降级使用兼容性更强的Laravel Mix:

    1. 安装依赖:npm install laravel-mix --save-dev
    2. 根目录创建webpack.mix.js:
      const mix = require('laravel-mix');
      
      mix.js('resources/js/app.js', 'public/js')
         .postCss('resources/css/app.css', 'public/css');
      
    3. 修改package.json的scripts:
      "scripts": {
          "dev": "mix",
          "build": "mix build"
      }
      
    4. 执行npm run build生成public/js和public/css文件夹,上传至服务器对应目录,将视图中的@vite指令替换为普通的<script>、<link>标签加载资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 16:25:21