第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

vue打包體積優(yōu)化之旅

標(biāo)簽:
Vue.js

webpack 与 vue

在使用vue开发时,遇到打包后单个文件太大,因而需要分包,不然加载时间太久。虽然尽可能减少请求次数,但是单个包太大也不是好事

思路

  • 组件按需加载

  • vue-router 的懒加载

  • 第三方包分离

  • 代码分割时,

组件按需加载

  • 现在ui库大多都是以组件的形式进行处理,因而不用将整个库都导入,只需导入想要的即可

  • 根据对应库的文档进行操作即可,现在每个库都有对应的使用流程,及相关配置,并不是很难

  • 只是在导入css样式时依旧需要全部导入(目前只能如此)

vue-router 懒加载

  • 利用 promise 异步功能,进行相关配置后,页面点击时,会根据相应的进行页面加载,而不是一次性加载完,毕竟有些页面也许根本就不会进入

  • 语法: componet: () => import('**/*') 如果是大量的,最后提取进行封装成函数,这样调用就好了

第三方包分离

  • 经常会引入第三方库,但是这些感觉没有必要也混入到一个文件中

  • CommonsChunkPlugin通过将公共模块拆出来,最终合成的文件能够在最开始的时候加载一次,便存到缓存中供后续使用

entry: {  // 分离第三方包    vendor: ["jquery", "other-lib"],  app: "./entry"},

代码分割

  • 使用 promise 作为分割点

  • 需要使用相应的插件LimitChunkCountPlugin ==== 会注意到有一些很小的 chunk - 这产生了大量 HTTP 请求开销。幸运的是,此插件可以通过合并的方式,后处理你的 chunk,以减少请求数。

开启Gzip进行压缩

  • 这个需要服务器配合才可以

首屏加载慢

vue-router// prev
const component1 = () => import('@/components/**')//now 利用webpack   require.ensure
comst component2 = r => require.ensure([], () => r(require('@/components/+'**'+.vue')))

test

经过测试 使用路由懒加载的 import 反而比 require.ensuse更好

原始,没有启用的结果
https://img1.sycdn.imooc.com//5b408d860001c9bc09320340.jpg

使用 import方式

  • 源码
    https://img1.sycdn.imooc.com//5b408d9700011cf704110136.jpg

  • 打包的结果
    https://img1.sycdn.imooc.com//5b408da00001c94809380379.jpg

    使用 require.ensuse方式

  • 源码
    https://img1.sycdn.imooc.com//5b408da80001402707280075.jpg

  • 打包后的结果
    https://img1.sycdn.imooc.com//5b408db10001a7d110690352.jpg

总结

  • 以后就直接使用 import 进行懒加载了

  • 若是多页面,(现在开发的都是SPA),可以在入口进行处理,

原文出处

點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消