开发者问题收集

Laravel 8(Inertia js)-获取 Vue 错误'app.js:30559 [Vue warn]: 创建钩子时出错:“错误:找不到模块......'

2020-09-21
9595

我已经设置了一个使用 Jetstream(inertia js 堆栈)的 Laravel 8 安装。Jetstream 提供的所有视图均正常工作。

问题 是当我创建一个呈现新 Vue 模板的新路由时,我在控制台中收到此错误:

app.js:30559 [Vue warn]: 创建的钩子中出错:“错误:找不到模块 './Test'”

我在 web.php 中创建的路由

Route::get('/test', function() {
    return Inertia\Inertia::render('Test');
});

“Test.vue”文件位于“resources/js/Pages”目录中。

<template>
            <h2 class="font-semibold text-xl text-gray-800 leading-tight">
                Testing
            </h2>
</template>

app.js

require('./bootstrap');

import Vue from 'vue';

import { InertiaApp } from '@inertiajs/inertia-vue';
import { InertiaForm } from 'laravel-jetstream';
import PortalVue from 'portal-vue';

Vue.use(InertiaApp);
Vue.use(InertiaForm);
Vue.use(PortalVue);

const app = document.getElementById('app');

new Vue({
    render: (h) =>
        h(InertiaApp, {
            props: {
                initialPage: JSON.parse(app.dataset.page),
                resolveComponent: (name) => require(`./Pages/${name}`).default,
            },
        }),
}).$mount(app);

知道为什么找不到 Test.vue 模板吗?

3个回答

也许其他人和我一样遇到这种情况 - 我必须在 Chrome 中打开开发者控制台,并确保在 网络 选项卡中,我已选中 禁用缓存

最重要的是,必须进入我的服务器并执行 php artisan optimize 以清除缓存的视图。

Matthias S
2020-09-23

只需运行“npm run dev”

JamesP27
2020-09-21

您应该运行此命令:npm run watch

它将跟踪您的所有更改并更新应用程序。

Tião Ricardo
2020-11-19