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

Vue代碼分割懶加載的實(shí)現(xiàn)方法

 更新時(shí)間:2017年11月23日 08:42:56   作者:NsNe  
這篇文章主要給大家介紹了關(guān)于Vue代碼分割懶加載的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

什么是懶加載

懶加載也叫延遲加載,即在需要的時(shí)候進(jìn)行加載,隨用隨載。

為什么需要懶加載

在單頁應(yīng)用中,如果沒有應(yīng)用懶加載,運(yùn)用webpack打包后的文件將會異常的大,造成進(jìn)入首頁時(shí),需要加載的內(nèi)容過多,延時(shí)過長,不利于用戶體驗(yàn),而運(yùn)用懶加載則可以將頁面進(jìn)行劃分,需要的時(shí)候加載頁面,可以有效的分擔(dān)首頁所承擔(dān)的加載壓力,減少首頁加載用時(shí)

如何與webpack配合實(shí)現(xiàn)組件懶加載

1、在webpack配置文件中的output路徑配置chunkFilename屬性

output: {
path: resolve(__dirname, 'dist'),
filename: options.dev ? '[name].js' : '[name].js?[chunkhash]',
chunkFilename: 'chunk[id].js?[chunkhash]',
publicPath: options.dev ? '/assets/' : publicPath
},

chunkFilename路徑將會作為組件懶加載的路徑

2、配合webpack支持的異步加載方法

  • resolve => require([URL], resolve), 支持性好
  • () => system.import(URL) , webpack2官網(wǎng)上已經(jīng)聲明將逐漸廢除, 不推薦使用
  • () => import(URL), webpack2官網(wǎng)推薦使用, 屬于es7范疇, 需要配合babel的syntax-dynamic-import插件使用, 具體使用方法如下
npm install --save-dev babel-core babel-loader babel-plugin-syntax-dynamic-import babel-preset-es2015
use: [{
loader: 'babel-loader',
options: {
presets: [['es2015', {modules: false}]],
plugins: ['syntax-dynamic-import']
}
}]

引言

而在webpack > 2的時(shí)代,vue做代碼分割懶加載更加的easy,不需要loader,不需要require.ensure。

import解決一切。

分割層級

Vue代碼分割懶加載包含如下幾個(gè)層級:

      1、 組件層級分割懶加載

      2、 router路由層級

      3、 Vuex 模塊

組件層級代碼分割

//全局組件
Vue.component('AsyncComponent', () => import('./AsyncComponent'))

//局部注冊組件
new Vue({
 // ...
 components: {
 'AsyncComponent': () => import('./AsyncComponent')
 }
})

// 如果不是default導(dǎo)出的模塊
new Vue({
 // ...
 components: {
 'AsyncComponent': () => import('./AsyncComponent').then({ AsyncComponent }) => AsyncComponent
 }
})

路由層級代碼分割

const AsyncComponent= () => import('./AsyncComponent')

new VueRouter({
 routes: [
 { path: '/test', component: AsyncComponent}
 ]
})

Vuex 模塊代碼分割,vuex中有動(dòng)態(tài)注冊模塊方法,同時(shí)也是加上import

const store = new Vuex.Store()

import('./store/test').then(testModule => {
 store.registerModule('test', testModule)
})

總結(jié)

在一般項(xiàng)目中,我們按照router和components層面分割(或者只使用router分割)就足夠了。大型項(xiàng)目可能三者都會用到,但用法都很簡單,不是么?

好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • 關(guān)于Vue Router的10條高級技巧總結(jié)

    關(guān)于Vue Router的10條高級技巧總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于Vue Router的10條高級技巧,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Vue中JS動(dòng)畫與Velocity.js的結(jié)合使用

    Vue中JS動(dòng)畫與Velocity.js的結(jié)合使用

    這篇文章主要介紹了Vue中JS動(dòng)畫與Velocity.js的結(jié)合使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • vue 使用自定義指令實(shí)現(xiàn)表單校驗(yàn)的方法

    vue 使用自定義指令實(shí)現(xiàn)表單校驗(yàn)的方法

    今天小編就為大家分享一篇vue 使用自定義指令實(shí)現(xiàn)表單校驗(yàn)的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • vue實(shí)現(xiàn)動(dòng)態(tài)綁定行內(nèi)樣式style的backgroundImage

    vue實(shí)現(xiàn)動(dòng)態(tài)綁定行內(nèi)樣式style的backgroundImage

    這篇文章主要介紹了vue實(shí)現(xiàn)動(dòng)態(tài)綁定行內(nèi)樣式style的backgroundImage方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 一文詳解Vue3中如何使用Vue?Router

    一文詳解Vue3中如何使用Vue?Router

    Vue-Router路由是根據(jù)不同的url地址展現(xiàn)不同的內(nèi)容或頁面,這篇文章主要給大家介紹了關(guān)于Vue3中如何使用Vue?Router的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • Vuejs入門教程之Vue生命周期,數(shù)據(jù),手動(dòng)掛載,指令,過濾器

    Vuejs入門教程之Vue生命周期,數(shù)據(jù),手動(dòng)掛載,指令,過濾器

    本篇文章主要介紹了Vuejs入門教程之Vue生命周期,數(shù)據(jù),手動(dòng)掛載,指令,過濾器的相關(guān)知識。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-04-04
  • 新手簡單了解vue

    新手簡單了解vue

    Vue.js是一個(gè)構(gòu)建數(shù)據(jù)驅(qū)動(dòng)的 web 界面的漸進(jìn)式框架。Vue.js 的目標(biāo)是通過盡可能簡單的 API 實(shí)現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件。下面我們來簡單了解下吧
    2019-05-05
  • vue3標(biāo)簽中的ref屬性詳解及如何使用$refs獲取元素

    vue3標(biāo)簽中的ref屬性詳解及如何使用$refs獲取元素

    這篇文章主要給大家介紹了關(guān)于vue3標(biāo)簽中的ref屬性詳解及如何使用$refs獲取元素的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-11-11
  • Vue echarts繪制甘特圖的示例代碼

    Vue echarts繪制甘特圖的示例代碼

    甘特圖是一種條狀圖,直觀展示項(xiàng)目進(jìn)展隨時(shí)間的走勢及聯(lián)系,其中,項(xiàng)目時(shí)間由橫軸表示,項(xiàng)目活動(dòng)由縱軸表示,本文給大家介紹了Vue echarts繪制甘特圖的實(shí)現(xiàn)方法,并有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2024-03-03
  • vueCl如何查看打包后文件的大小占比

    vueCl如何查看打包后文件的大小占比

    這篇文章主要介紹了vueCl如何 查看打包后文件的大小占比問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評論

达州市| 天全县| 亳州市| 离岛区| 唐山市| 交城县| 平谷区| 嘉义市| 神农架林区| 龙江县| 衡山县| 宜州市| 江达县| 广平县| 徐闻县| 鹿泉市| 揭阳市| 三台县| 巴林右旗| 清涧县| 沧源| 玉树县| 平定县| 长阳| 北流市| 沙坪坝区| 灵台县| 高尔夫| 韩城市| 玉门市| 泰安市| 仪陇县| 抚远县| 囊谦县| 逊克县| 浏阳市| 阳泉市| 绥宁县| 蒲城县| 明水县| 竹山县|