Heim  >  Fragen und Antworten  >  Hauptteil

Laravel Inertia Vite

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]);
    }    
}

P粉262926195P粉262926195251 Tage vor417

Antworte allen(1)Ich werde antworten

  • P粉511985082

    P粉5119850822024-01-17 10:06:06

    这是一个 docker/nginx 问题。应用程序生成的文件未正确路由,因此原始版本中的静态文件不会被替换。

    我改为使用卷在容器之间同步数据并且它起作用了。

    Antwort
    0
  • StornierenAntwort