Heim  >  Fragen und Antworten  >  Hauptteil

Vue Router mit Laravel verwenden: Eine Schritt-für-Schritt-Anleitung

Ich verwende laravel9 und vue3 für die Entwicklung.

Mein Problem ist einfach, aber die Pfadeinstellung ist nicht reibungslos.

Wenn ich die URL besuche localhost:8080/tasks

Diese URL gibt 404 Not Found zurück und ich erhalte den folgenden Typfehler

Abrufen von http://localhost:8000/tasks 404 (nicht gefunden)

Ich weiß nicht warum, aber wenn ich den Pfad ändere: /tasks重写为路径/, gibt localhost:8080 die gewünschte Komponente zurück.

Ich habe die folgenden Dateien.

router.js

import { createRouter, createWebHistory } from "vue-router";
import TaskListComponent from "./components/TaskListComponent.vue";


const router = createRouter({
    history: createWebHistory(),
    routes: [

        {
            path: '/tasks',
            name: 'tasks.list',
            component: TaskListComponent
        }
    ]
})

export default router

App.vue

<script setup>
import HeaderComponent from "./components/HeaderComponent.vue";
</script>

<template>
    <HeaderComponent />
    <router-view></router-view>
</template>

bootstrap.js

import { createApp } from "vue";
import App from "./App.vue";
import router from "./router.js"

const app = createApp(App);

app.use(router);

app.mount("#app");

P粉165823783P粉165823783301 Tage vor494

Antworte allen(2)Ich werde antworten

  • P粉824889650

    P粉8248896502023-12-23 18:51:18

    我使用 Vue 的 CLI 创建了一个项目,然后继续检查所有相关部分。

    我获取了您的代码并应用了各种更改:

    • 我的入口点是 main.js,而不是 bootstrap.js,但代码方面没有更改
    • App.vue 中,我没有任何 HeaderComponent,但无论如何它不应该成为问题
    • router/index.js 中,我只更改了组件的以下内容,因为无论如何使用别名都比使用相对路径更好
    import TaskListComponent from "@/components/TaskListComponent.vue"
    

    启动服务器

    pnpm dev

    给了我一些端口,一旦进入 /tasks 路径,我就可以按预期看到该组件。

    路线也被正确定义

    这是我的项目目录

    控制台中没有任何错误。


    这里是公共 github 存储库:https://github.com/kissu/so -v3-工作路由器

    Antwort
    0
  • P粉340980243

    P粉3409802432023-12-23 18:09:57

    web.php 中的以下内容修复了该问题

    Route::get('{any?}', function () {
        return view('welcome');
    })->where('any', '.*');
    

    Antwort
    0
  • StornierenAntwort