序號
內容連線位址
1vue router 整合引入
2vue router 模組化開發
3vue router 動態路由及選單實現之一
4vue router 動態路由及選單實現之二
5vue router 動態路由及選單實現問題彙總
6vue el-menu多級選單遞迴
7vue router 懶載入常見寫法
當專案越來越大,router越加越多,且使用者一次性不會訪問那麼多的router,所以需要在使用者訪問的時候將router載入上,這樣可以很好的提公升使用者體驗
三種常見的寫法
//遍歷後台傳來的路由字串,轉換為元件物件
export
function
filterasyncrouter
(asyncroutermap)
else}if
(route.children && route.children.length)
return
true})
return accessedrouters
}
/* 載入路由元件,兩種方式均可 */
const
loadview
=(view)
=>
`], resolve)
// return () => import('@/views/' + view)
return()
=> promise.
resolve
(require
(`@/views/$`))}
一般的寫法,require是 amd規範引入方式
return
(resolve)
=>
require([
`@/views/$`
], resolve)
直接將元件引入的方式,import是es6的乙個語法標準,如果要相容瀏覽器的話必須轉化成es5的語法
return()
=>
import
('@/views/'
+ view)
cli 構建專案時例子裡用的就是import,推薦也是使用import來引入模組
和第一種本質一樣,都是使用require獲取到元件,再用promise物件返回元件
return()
=> promise.
resolve
(require
(`@/views/$`
))
import 是解構過程並且是編譯時執行
require 是賦值過程並且是執行時才執行,也就是非同步載入
require的效能相對於import稍低,因為require是在執行時才引入模組並且還賦值給某個變數
注意:返回import表示式 在webpack 構建的時候會報這個警告
critical dependency: the request of a dependency is an expression
意思就是這個請求的依賴是乙個表示式
這個時候動態載入路由實際沒有載入上去,這時候就換成第三種寫法就可以了。import實際返回的也是乙個promise物件
官網的說法:
vue router 路由懶載入
1 通常在我們使用 vue cli 構建專案時,在預設情況下 執行npm run build 後會將專案中所有的 js 打包為乙個整體。而且這個包體積會非常的大。導致我們在進入首頁時會載入的非常慢。即使初始化有 loading 效果,也不利於使用者體驗。所以這是就體現出懶載入 延遲載入 的重要性。所...
Vue Router(路由懶載入)
常用的路由懶載入方式 1 vue非同步元件 非同步載入 2 路由懶載入 使用import vue非同步元件 非同步載入 vue router配置路由 使用vue的非同步元件技術 可以實現按需載入 但是,這種情況下,webpack打包時乙個元件生成乙個js檔案,即每載入乙個元件都需要載入乙個新的js檔...
vue router路由懶載入
方式一 結合vue的非同步元件和webpack的 分析 const home resolve 方式二 amd寫法 const about resolve require components about.vue resolve 方式三 在es6中,我們可以有更加簡單的寫法來組織vue非同步元件和we...