Im Produktionsmodus (auf dem Server) erhält meine Website den Fehler in der Chrome-Konsole:
Uncaught(承诺)错误:找不到页面:./Pages/Posts/Show.vue
Außerdem wird die Dashboard-Seite nicht mit Änderungen am Text und der neuen Paginierungstabelle aktualisiert, die ich in der lokalen Entwicklung eingeführt habe.
Lokal funktioniert alles einwandfrei, aber beim Pushen auf Digital Ocean Server werden nicht die neuesten Änderungen angezeigt.
Ich habe den Quellcode online überprüft und der Originalcode ist dort. Ich kann sehen, wie sich der Text, die Paginierungstabelle und neue Routen ändern. Sie werden jedoch nicht angezeigt, wenn ich die Website lade. Ich vermute, dass es etwas mit dem Caching oder dem Build-Prozess zu tun hat?
Ich habe es geschafft:
php工匠缓存:clear
php工匠配置:clear
php工匠视图:clear
npm run build
(neue Assets der Vite-Version)
Kann jemand helfen?
Dateien teilen:
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' });
Hinterer Controller
<?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]); } }
这是一个 docker/nginx 问题。应用程序生成的文件未正确路由,因此原始版本中的静态文件不会被替换。
我改为使用卷在容器之间同步数据并且它起作用了。