最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

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

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:25:12
文檔

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

Vue代碼分割懶加載的實現(xiàn)方法:什么是懶加載 懶加載也叫延遲加載,即在需要的時候進行加載,隨用隨載。 為什么需要懶加載 在單頁應用中,如果沒有應用懶加載,運用webpack打包后的文件將會異常的大,造成進入首頁時,需要加載的內(nèi)容過多,延時過長,不利于用戶體驗,而運用懶加載則可以將頁
推薦度:
導讀Vue代碼分割懶加載的實現(xiàn)方法:什么是懶加載 懶加載也叫延遲加載,即在需要的時候進行加載,隨用隨載。 為什么需要懶加載 在單頁應用中,如果沒有應用懶加載,運用webpack打包后的文件將會異常的大,造成進入首頁時,需要加載的內(nèi)容過多,延時過長,不利于用戶體驗,而運用懶加載則可以將頁

什么是懶加載

懶加載也叫延遲加載,即在需要的時候進行加載,隨用隨載。

為什么需要懶加載

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

如何與webpack配合實現(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的時代,vue做代碼分割懶加載更加的easy,不需要loader,不需要require.ensure。

    import解決一切。

    分割層級

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

          1、 組件層級分割懶加載

          2、 router路由層級

          3、 Vuex 模塊

    組件層級代碼分割

    //全局組件
    Vue.component('AsyncComponent', () => import('./AsyncComponent'))
    
    //局部注冊組件
    new Vue({
     // ...
     components: {
     'AsyncComponent': () => import('./AsyncComponent')
     }
    })
    
    // 如果不是default導出的模塊
    new Vue({
     // ...
     components: {
     'AsyncComponent': () => import('./AsyncComponent').then({ AsyncComponent }) => AsyncComponent
     }
    })

    路由層級代碼分割

    const AsyncComponent= () => import('./AsyncComponent')
    
    new VueRouter({
     routes: [
     { path: '/test', component: AsyncComponent}
     ]
    })

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

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

    總結

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

    好了,

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

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

    Vue代碼分割懶加載的實現(xiàn)方法:什么是懶加載 懶加載也叫延遲加載,即在需要的時候進行加載,隨用隨載。 為什么需要懶加載 在單頁應用中,如果沒有應用懶加載,運用webpack打包后的文件將會異常的大,造成進入首頁時,需要加載的內(nèi)容過多,延時過長,不利于用戶體驗,而運用懶加載則可以將頁
    推薦度:
    標簽: 方法 VUE 懶加載
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top