作为基本期权的标准文档:
应用程序的基本URL。例如,如果整个单页应用程序都位于/app/下面,那么基应该使用"/app/“值。
但我试过如下,它似乎不起作用:
const router = new VueRouter({
base: "/app/",
routes
})
演示小提琴。
发布于 2017-03-08 07:25:21
基的默认值为'/'
。从它用于路由的方式中得出类比:
<router-link to="home">Home</router-link>
或
<router-link :to="{ path: '/abc'}" replace></router-link>
我只是省略了/app
和作品。基础不需要成为router-link
的一部分
编辑
base
在vue-router
中的应用
(在这个测试中,我使用了vue-cli
和webpack
模板。)
我的路由器配置如下:
export default new Router({
base: '/app',
mode: 'history',
routes: [
{
path: '/',
name: 'RangeInputDemo',
component: ComponentDemo
}
]
})
将基添加为'/app'
对整个项目中发生的路由没有任何影响,就好像基仍然被设置为'/'
一样。
我试图从服务器端(项目所在的网址)更改url。
所以在dev-server.js
中:
var uri = 'http://localhost:' + port
控制应用程序的url,我做了一个小小的修改:
var uri = 'http://localhost:' + port + '/app'
这导致应用程序显示:
注意,vue控制台中的fullPath
是'/'
(第二个图像)。
为了再次检查,我再次将base
更改为'/'
。
因此,base
配置的router
属性是设置服务器设置的基本url,如果服务器以'/'
以外的路由服务应用程序,则可以使用base
使应用程序从set运行。
因为这个问题需要在/app
下移动路由,所以我认为如果服务器不应该改变它所服务的路由,那么以/app
作为父路由将是解决方案。
发布于 2021-07-01 13:14:02
在Vue路由器4中,您可以通过历史api设置基本路径:
const router = createRouter({
history: createWebHistory(process.env.BASE_URL),
routes
})
那么每条路径都将以process.env.BASE_URL作为前缀。
发布于 2018-06-29 19:05:04
有同样的问题,设置" base“不起作用-解决方法是更新路由器中的基url:
{ name: 'listings', path: baseUrl + '/listings', component: PageListings}
并按名称提及路线:
<router-link :to="{ name: 'listings' }" exact>Listings</router-link>
https://stackoverflow.com/questions/42664712
复制相似问题