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

CyclicApp部署Laravel9+InertiaJS项目时Ziggy依赖解析失败求助

解决Laravel9+InertiaJS+Vue3+Jetstream部署CyclicApp时Ziggy解析错误

核心问题分析

构建报错的本质是Vite无法定位到Ziggy的Vue适配文件,要么是依赖未正确安装/生成,要么是路径配置存在问题,以下是分步解决方案:

1. 确保Ziggy依赖完整并生成本地前端文件

  • 先在项目根目录执行Composer命令安装Ziggy:
    composer require tightenco/ziggy
    
  • 生成本地Ziggy前端资源文件(避免直接依赖vendor目录的文件):
    php artisan ziggy:generate
    
    这个命令会在resources/js目录下生成ziggy.js或ziggy.mjs,后续直接引用这个本地文件即可。

2. 修改app.js中的引用路径

将原来的引用代码:

import { ZiggyVue } from '../../vendor/tightenco/ziggy/dist/vue.m';

替换为本地生成文件的路径:

// 根据生成的文件后缀调整,比如生成的是ziggy.js就用下面的写法
import { ZiggyVue } from './ziggy';
// 如果是ziggy.mjs则改为:
// import { ZiggyVue } from './ziggy.mjs';

3. 配置Vite别名优化路径解析(可选)

在vite.config.js中添加Ziggy的别名,让Vite能正确识别依赖路径:

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',
            refresh: true,
        }),
        vue({
            template: {
                transformAssetUrls: {
                    base: null,
                    includeAbsolute: false,
                },
            },
        }),
    ],
    resolve: {
        alias: {
            'ziggy': 'vendor/tightenco/ziggy/dist/vue.m',
        },
    },
});

4. 调整CyclicApp的构建脚本

修改package.json中的build命令,确保先生成Ziggy文件再执行前端构建:

{
    "scripts": {
        "dev": "vite",
        "build": "php artisan ziggy:generate && vite build",
        "preview": "vite preview"
    }
}

这样CyclicApp在构建时会先完成Ziggy资源生成,再执行Vite打包,避免文件缺失。

5. 确认Composer依赖在部署时已安装

检查CyclicApp的部署流程,确保composer install --optimize-autoloader --no-dev这类命令被执行,只有安装好Composer依赖,vendor目录下的Ziggy文件才会存在(如果选择保留vendor路径引用的话)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 20:20:26