使用 vue-router 步履蹒跚的第一步

Faltering first steps with vue-router

我正在尝试使用 vue-router,但我遇到了第一个障碍。我设置了以下路线:

   const router = new VueRouter({
    mode: 'history',
    routes: [
        {path: '/', component: Home},
        {name:'product-list', path: '/product/list', component: ProductList},
        {name:'product-detail',path: '/product/:action/:id?', component: ProductDetail },
        {path: '*', component: NotFound }
    ]
});

当我在浏览器中输入这些路由之一的 URL 时,例如 http://localhost:8090/product/list,它会向服务器发出请求,而不是在本地处理它。

我已经设置了我的服务器(它是 Grails 在开发中)以将任何 404 请求重定向到“/”,这导致 Home 组件被显示,就像你一样d 期望从路由。但我显然希望 /product/list 调出 ProductList 组件。

很明显,我误解了一些相当基本的东西。请问是什么?

重定向不好,因为它告诉浏览器更改 url 并重试请求。您需要为所有与静态资源不匹配的请求提供相同的页面。

这可以通过URL重写来实现。请查看您的 Web 服务器 URL 重写文档。