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

Laravel 9+Vite在cPanel生产环境找不到Manifest文件求助

解决Laravel 9 + Vite生产环境Manifest文件找不到的问题

问题描述

开发基于Laravel 9、Vite及laravel-vite插件的项目时,开发环境运行正常,但部署到cPanel共享服务器生产环境后出现以下报错:

Vite manifest not found at: /home/???????/cart_shop/public/build/manifest.json

# With 

Missing Vite Manifest File
Did you forget to run `npm install && npm run dev`?

目录结构调整说明

原服务器目录结构:

- home
    - public_html
        - cart_shop
           - Root
           - public
           - etc

调整后目录结构:

- home
    - public_html
       - public files and folders  // 已修改索引URL
- cart_shop
    - Root
    - etc

当前vite.config.js配置

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import vue from '@vitejs/plugin-vue';

export default defineConfig({
    plugins: [
        laravel({
            input: 'resources/js/app.js',
        }),
        vue({
            template: {
                transformAssetUrls: {
                    base: null,
                    includeAbsolute: false,
                },
            },
        }),
    ],
});

解决方案

问题核心是Vite默认的public目录和构建输出路径与调整后的服务器目录不匹配,需修改vite.config.js指定正确路径:

  1. 修改vite.config.js中的laravel插件配置,添加publicDirectory和build选项:
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import vue from '@vitejs/plugin-vue';

export default defineConfig({
    plugins: [
        laravel({
            input: 'resources/js/app.js',
            // 指定当前public目录的位置(从项目根目录cart_shop指向home/public_html)
            publicDirectory: '../public_html',
            build: {
                // 指定构建产物输出到public_html下的build文件夹
                outDir: '../public_html/build'
            }
        }),
        vue({
            template: {
                transformAssetUrls: {
                    base: null,
                    includeAbsolute: false,
                },
            },
        }),
    ],
});
  1. 在生产环境执行构建命令:
npm install && npm run build
  1. 额外检查:确保public_html目录下的index.php文件中,引入项目核心文件的路径正确。例如:
// 调整路径指向cart_shop/Root目录
require __DIR__.'/../cart_shop/Root/vendor/autoload.php';

$app = require_once __DIR__.'/../cart_shop/Root/bootstrap/app.php';

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 07:45:51