Vue.js 附加相同URL的Vue路由器
每当我尝试使用简单的Vue.js 附加相同URL的Vue路由器,vue.js,vue-router,Vue.js,Vue Router,每当我尝试使用简单的 <router-link to="https://google.com"> Google </router-link> 我没有.env文件。每当我创建.env并添加基本URL时=http://localhost:8080它呈现http://localhost:8080/http:/localhost:8080/https:/google.com 有没有人经历过这个问题 更新 上面的例子反映了外部网站,但内部链接也是如此。例如: <ro
<router-link to="https://google.com">
Google
</router-link>
我没有.env
文件。每当我创建.env
并添加基本URL时=http://localhost:8080
它呈现http://localhost:8080/http:/localhost:8080/https:/google.com
有没有人经历过这个问题
更新
上面的例子反映了外部网站,但内部链接也是如此。例如:
<router-link avatar :to="{name: 'author', params: {id: author.id, name: author.name}}"> foo </router-link>
几天前一切正常,但一定是我添加了一些东西改变了这种行为。我到处都找过了,但似乎找不到哪里出了问题。是的,对外部链接使用普通的
a href标记。Vue路由器和路由器链接主要用于实例资源。是的,对外部链接使用普通的
a href标记。Vue路由器和路由器链接主要用于实例资源。此问题可能来自您的路由器。我猜process.env.BASE\uURL
应该是http://localhost:8080
。我遇到了类似的问题,然后我来到了这里。不幸的是,@screll的上述步骤并没有解决我的问题。我所做的是更改baseUrl
将路由器中的baseUrl更改为“/”而不是http://localhost:8080
为清楚起见,这些步骤取决于项目设置,vue/cli或webpack设置
// .env file
BASE_URL=/
# or VUE_APP_BASE_URL=/
然后,路由器
// NB: The BASE_URL is '/'
export default new Router({
mode: 'history',
base: process.env.BASE_URL,
// or base: process.env.VUE_APP_BASE_URL,
routes
)}
此问题可能来自您的路由器。我猜
process.env.BASE\uURL
应该是http://localhost:8080
。我遇到了类似的问题,然后我来到了这里。不幸的是,@screll的上述步骤并没有解决我的问题。我所做的是更改baseUrl
将路由器中的baseUrl更改为“/”而不是http://localhost:8080
为清楚起见,这些步骤取决于项目设置,vue/cli或webpack设置
// .env file
BASE_URL=/
# or VUE_APP_BASE_URL=/
然后,路由器
// NB: The BASE_URL is '/'
export default new Router({
mode: 'history',
base: process.env.BASE_URL,
// or base: process.env.VUE_APP_BASE_URL,
routes
)}
不要忘了在路线中加“/”。因此,它只会更改url的最后一段
没有“/”
带“/”
不要忘记在路线中添加“/”。因此,它只会更改url的最后一段
没有“/”
带“/”
可能的重复不是重复的。我更新了答案,以反映它不是一个dup@Charlie您需要使用
作者
路线的路线定义更新问题,然后在浏览器中为作者
路线生成的URL。是不是有点像http://localhost:8080/{name:'author',params:{id:author.id,name:author.name}
?@ceejayoz作者的路线是:在router.js中定义base:undefined
解决了可能重复的问题,它不是重复的。我更新了答案,以反映它不是一个dup@Charlie您需要使用作者
路线的路线定义更新问题,然后在浏览器中为作者
路线生成的URL。是不是有点像http://localhost:8080/{name:'author',参数:{id:author.id,name:author.name}
?@ceejayoz作者的路线是:定义base:undefined
atrouter.js
解决了这个问题,我更新了答案,因为内部links@Charlie确保内部链接使用的是:to
,而不是to
。我更新了答案,因为这种情况也发生在内部的links@Charlie确保内部链接使用的是:to
,而不是to
。