注意:首屏的**不要非同步載入,非首屏**非同步載入。不然初始**載入完成後,還有等執行後再去載入首屏**,反而拉慢首屏顯示。
一、現在非同步元件最常見的技術用兩種。
1、依賴require
const
editor
= resolve =>
require([
'@/views/editor'
], resolve)
2、webpack 2 + es6
const
editor=(
)=>
import
('@/views/editor'
)
二、下面使用require來實現非同步載入
1、非同步路由
import indexpage from
'@/views/indexpage'
;export
default
newrouter(,
,],}
)
2、全域性非同步元件
可以同時require元件的css,只需要最後resolve傳參的是元件
// main.js
vue.
component
('swiper'
,(resolve)
=>
require([
'vue-awesome-swiper'
,'swiper/dist/css/swiper.css'],
()=>
resolve
(swiper)
))
3、單個元件內的非同步元件
export
default
,...
}
4、懶載入第三方類庫
專案中會用到一些第三方類庫,如果類庫比較大,而且可以不用第一時間處理,則可以考慮把它懶載入,來加速頁面的響應速度
require([
'lrz'],
(lrz)
=>).
then
((rst)
=>).
catch
((err)
=>)}
)
vue 路由懶載入,元件非同步載入
用於緩解首屏載入緩慢 1.vue非同步元件 vue router配置路由 使用vue的非同步元件實現按需載入 2.webpack 的 require.ensure vue router配置路由,使用webpack的require.ensure,也可實現 require.ensure 接受三個引數 語...
vue路由非同步元件和懶載入案例
最近研究了vue效能優化,涉及到vue非同步元件和懶載入。一番研究得出如下的解決方案。案例 首先是元件,建立四個元件分別命名為first second three和four 內容如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 first 我是第乙...
Vue中的非同步元件
使用過vue 的小夥伴都知道vue自定義元件,和元件引入方式。今天筆者要記錄並介紹vue 元件的三種引入方式。傳統引入方式,即最常見的引入方式 import leftline from views admanage components stepline components 這是使用本地註冊的方式...