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

Laravel+InertiaJS+VueJS开发CRUD时/ads路由模块加载失败求助

问题排查与解决方案

针对你访问/ads路由时出现的模块加载失败问题,结合你的代码和场景,可按以下步骤排查解决:

1. 修正Props类型不匹配问题

控制器中Ad::with(['model','user'])->get()返回的是Laravel集合(对应Vue中的数组类型),但你在Vue组件中将ads的props类型定义为Object,类型不匹配会导致组件初始化失败,进而触发模块加载报错。

修改Index.vue的props定义:

<script>
export default {
    name: 'AdIndex', // 建议去掉名称中的空格,避免潜在解析问题
    props: {
        ads: Array, // 改为Array类型匹配返回的集合
    },
}
</script>

2. 检查文件路径与大小写一致性

如果你的开发环境是Linux/macOS(对文件名大小写敏感),需确保控制器中inertia('Ads/Index')的路径与实际文件路径/Pages/Ads/Index.vue完全一致:

  • 确认文件夹是Ads而非小写的ads
  • 确认文件是Index.vue而非小写的index.vue

3. 清除Vite缓存并重启开发服务

Vite的缓存可能导致旧的模块引用未更新,执行以下操作:

  • 停止当前运行的Laravel开发服务器和Vite服务
  • 删除项目根目录下的node_modules/.vite文件夹
  • 重新启动服务:
    npm run dev
    php artisan serve
    

4. 验证Inertia页面注册配置

检查resources/js/app.js中的Inertia页面注册逻辑,确保resolve函数能正确定位到Pages目录下的组件:

createInertiaApp({
  resolve: name => require(`./Pages/${name}`),
  // ...其他配置项
})

若使用Vite动态导入语法,需确保路径后缀匹配:

resolve: name => import(`./Pages/${name}.vue`),

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 23:25:18