En mode production (sur le serveur), mon site Web obtient l'erreur dans la console Chrome :
Uncaught(承诺)错误:找不到页面:./Pages/Posts/Show.vue
De plus, la page du tableau de bord ne se met pas à jour en fonction des modifications apportées au texte et du nouveau tableau de pagination que j'ai introduit dans le développement local.
Tout fonctionne bien localement, mais le transfert vers Digital Ocean Server n'affiche pas les dernières modifications.
J'ai vérifié le code source en ligne et leur code original est là. Je peux voir le texte, le tableau de pagination et les nouveaux itinéraires changer. Mais ils n'apparaissent pas lorsque je charge le site. Je soupçonne que quelque chose à voir avec la mise en cache ou le processus de construction ?
Je l'ai fait :
php工匠缓存:clear
php工匠配置:clear
php工匠视图:clear
npm run build
(nouveaux actifs de la version vite)
Quelqu'un peut-il m'aider ?
Partager des fichiers :
resources/js/app.js
import './bootstrap'; import '../css/app.css'; import { createApp, h } from 'vue'; import { createInertiaApp } from '@inertiajs/inertia-vue3'; import { InertiaProgress } from '@inertiajs/progress'; import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers'; import { ZiggyVue } from '../../vendor/tightenco/ziggy/dist/vue.m'; const appName = window.document.getElementsByTagName('title')[0]?.innerText || 'Laravel'; createInertiaApp({ title: (title) => `${title} - ${appName}`, resolve: (name) => resolvePageComponent(`./Pages/${name}.vue`, import.meta.glob('./Pages/**/*.vue')), setup({ el, app, props, plugin }) { return createApp({ render: () => h(app, props) }) .use(plugin) .use(ZiggyVue, Ziggy) .mount(el); }, }); InertiaProgress.init({ color: '#4B5563' });
Contrôleur arrière
<?php namespace AppHttpControllersPost; use AppHttpControllersController; use IlluminateHttpRequest; use InertiaInertia; use AppModelsPost; class PostController extends Controller { /** * Display all posts * * @return InertiaResponse */ public function index(Request $request) { $posts = Post::paginate(10); return Inertia::render('Dashboard', ['posts' => $posts]); } /** * Display a post * * @return InertiaResponse */ public function show(Request $request, $id) { $post = Post::findOrFail($id); return Inertia::render('Posts/Show', ['post' => $post]); } }
Il s'agit d'un problème Docker/nginx. Les fichiers générés par l'application ne sont pas acheminés correctement, donc les fichiers statiques de la version originale ne sont pas remplacés.
Je suis passé à l'utilisation de volumes pour synchroniser les données entre les conteneurs et cela a fonctionné.