未捕获(在承诺中)TypeError:无法读取未定义的属性(读取“默认”)
2023-04-22
4248
我刚刚使用 Vue 和 laravel 设置了 Intertia,但似乎无法加载页面,我遇到了此错误
这是设置
app.js
import { createApp, h } from 'vue'
import { createInertiaApp } from '@inertiajs/inertia-vue3'
createInertiaApp({
resolve: async (name) => {
const pages = import.meta.glob('./Pages/**/*.vue')
return (await pages[`./Pages/${name}.vue`]())
},
setup({ el, App, props, plugin }) {
createApp({ render: () => h(App, props) })
.use(plugin)
.mount(el)
},
})
IndexController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class IndexController extends Controller
{
public function index()
{
return inertia('Index/Index');
}
public function show(){
return inertia('Index/Show');
}
}
web.php
Route::get('/', [IndexController::class, 'index']);
Route::get('/show', [IndexController::class, 'show']);
这里只是一些基本的 vue 模板
Index.vue
<template>
<div>index</div>
</template>
我希望 index.vue仅显示简单文本索引
3个回答
已解决将 Pages 文件夹放在错误文件夹中的问题
Pages 文件夹应位于
resources/js/Pages
中。我的错误是将 Pages 文件夹放在
resources/js
中
wale
2023-04-22
对我来说,它在我的路径中写入
.vue
:
return Inertia::render('Dashboard/Admin/Home.vue'); // wrong
我删除了 .vue 并且问题解决了
return Inertia::render('Dashboard/Admin/Home'); // correct
eylay
2023-07-25
我遇到了这个问题,这是由于 ubuntu 上区分大小写的目录命名造成的。它在我的 PC 上本地运行良好,但部署到服务器时会失败。我将文件夹命名为
/pages
而不是
/Pages
。
Jason Silver
2023-10-08