J'ai installé une installation Laravel 8 qui utilise Jetstream (pile inertia js). Toutes les vues fournies par Jetstream fonctionnent correctement.
Le problème est que lorsque je crée une nouvelle Route qui rend un nouveau modèle Vue, j'obtiens cette erreur dans ma console:
app.js:30559 [Vue warn]: Error in created hook: "Error: Cannot find module './Test'"
Mon itinéraire créé dans web.php
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);
Le fichier 'Test.vue' se trouve dans le répertoire 'resources / js / Pages'.
<template> <h2 class="font-semibold text-xl text-gray-800 leading-tight"> Testing </h2> </template>
app.js
Route::get('/test', function() { return Inertia\Inertia::render('Test'); });
Une idée de la raison pour laquelle le modèle Test.vue n'est pas trouvé?
3 Réponses :
Juste besoin d'exécuter 'npm run dev'
Peut-être que quelqu'un d'autre arrive ici comme moi - j'ai dû ouvrir la console développeur dans Chrome et m'assurer que dans l'onglet Network
, j'avais disable cache
.
Et en plus, j'ai dû aller dans mon serveur et faire l' php artisan optimize
de php artisan optimize
pour effacer les vues en cache.
Vous devez exécuter cette commande: npm run watch
Il suivra toutes vos modifications et mettra à jour l'application.
renommer le
test
en autre chose puis compiler cela fonctionnera