国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Vue代碼分割懶加載的實現方法

2024-05-06 15:24:10
字體:
來源:轉載
供稿:網友

什么是懶加載

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

為什么需要懶加載

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

如何與webpack配合實現組件懶加載

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官網上已經聲明將逐漸廢除, 不推薦使用 () => import(URL), webpack2官網推薦使用, 屬于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中有動態注冊模塊方法,同時也是加上import

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

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 高邑县| 百色市| 皮山县| 剑川县| 绥芬河市| 桐庐县| 荆州市| 富顺县| 佳木斯市| 古交市| 鄯善县| 上犹县| 淮阳县| 丹凤县| 宝坻区| 绍兴县| 西乌珠穆沁旗| 南川市| 商水县| 东城区| 岗巴县| 肥城市| 杭州市| 巴中市| 伊春市| 弥渡县| 民县| 濉溪县| 常宁市| 岗巴县| 客服| 姜堰市| 屏南县| 乳山市| 托克托县| 诏安县| 定西市| 库车县| 景宁| 新营市| 岫岩|