最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue實(shí)現(xiàn)遠(yuǎn)程獲取路由與頁(yè)面刷新導(dǎo)致404錯(cuò)誤的解決

 更新時(shí)間:2019年01月31日 10:27:56   作者:madfrag  
這篇文章主要介紹了Vue實(shí)現(xiàn)遠(yuǎn)程獲取路由與頁(yè)面刷新導(dǎo)致404錯(cuò)誤的解決,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

一、背景

先簡(jiǎn)單介紹一下現(xiàn)在項(xiàng)目情況:前后端分離,后端服務(wù)是Java寫(xiě)的,前端是Vue+ElementUI。

最近的一個(gè)需求是:通過(guò)后端Api去獲取前端路由表,原因是每個(gè)登錄角色對(duì)應(yīng)的前端路由表可能是不一樣的(權(quán)限問(wèn)題)

二、遇到的問(wèn)題

因?yàn)榍岸薞ue+ElementUI項(xiàng)目是單頁(yè)應(yīng)用——即只有一個(gè)index.html頁(yè)面,如果路由從遠(yuǎn)程獲取的話,每次F5或點(diǎn)擊刷新按鈕刷新頁(yè)面的時(shí)候,就會(huì)找不到對(duì)應(yīng)的路徑而報(bào)404錯(cuò)誤  

三、解決方案

1、通過(guò)api遠(yuǎn)程獲取路由,然后在前端生成對(duì)應(yīng)路由

/* 
 將 服務(wù)器獲得的[路由json字符串]轉(zhuǎn)換成可訪問(wèn)的[前端路由組件] 
 @remoteRouterMap 服務(wù)器獲得的[路由json字符串]
*/
function transformJsonToRouter(remoteRouterMap) {
 const accessedRouters = remoteRouterMap.filter(route => {
  if (!route.component) {
   route.component = Layout
  }else {
   route.component = route.component.replace("@/views/","")
   route.component = _import(route.component)
  }
  if (route.children && route.children.length) {
   route.children = transformJsonToRouter(route.children)
  }
  return true
 })

 return accessedRouters
}

2、將路由模式改成history模式(vue默認(rèn)是hash模式)

export default new Router({
 mode: 'history', //后端支持可開(kāi)
 scrollBehavior: () => ({ y: 0 }),
 routes: constantRouterMap,
 linkActiveClass: 'is-active'
})

3、在nginx中設(shè)置將404錯(cuò)誤指向index文件

location / {
 try_files $uri $uri/ /index.html;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

曲阳县| 城市| 永胜县| 怀柔区| 东方市| 平塘县| 蓬安县| 内丘县| 杭州市| 青岛市| 武川县| 西充县| 巴彦淖尔市| 铁力市| 清丰县| 淮南市| 连山| 文昌市| 图们市| 拉孜县| 衡阳县| 无为县| 德令哈市| 加查县| 囊谦县| 堆龙德庆县| 宜丰县| 枞阳县| 肥西县| 嵊泗县| 资中县| 连江县| 浪卡子县| 广丰县| 庄浪县| 萨嘎县| 林口县| 平凉市| 屏山县| 内江市| 永昌县|