Gyh's blog

vuePress-theme-reco gyh    2022
Gyh's blog Gyh's blog

Choose mode

  • dark
  • auto
  • light
Home
Category
  • Algorithm
  • CSS
  • JavaScript
  • Others
  • Server
  • Utils
  • Article
  • Note
  • Git
  • Npm
  • Standard
  • Summary
Tag
Timeline
About
GitHub
author-avatar

gyh

91

Article

11

Tag

Home
Category
  • Algorithm
  • CSS
  • JavaScript
  • Others
  • Server
  • Utils
  • Article
  • Note
  • Git
  • Npm
  • Standard
  • Summary
Tag
Timeline
About
GitHub

VUE 首屏加载速度优化

vuePress-theme-reco gyh    2022

VUE 首屏加载速度优化

gyh 2018-09-09
  • 使用 CDN 资源,减小服务器带宽压力
  • 路由懒加载
  • 将一些静态 js css 放到其他地方,减小服务器压力
  • 按需加载三方资源,如第三方组件库
  • 使用 nginx 开启 gzip 减小网络传输的流量大小
  • 若首屏为登录页,可以做成多入口,登录页单独分离为一个入口
  • 使用 uglifyjs-webpack-plugin 插件代替 webpack 自带 UglifyJsPlugin 插件

CDN 资源引入优化:

安装

npm i --save-dev html-webpack-plugin
1

配置-示例

let cdn
if (env === "development") {
  cdn = {
    js: [
      "https://jic.talkingdata.com/app/h5/v1?appid=76034ADCDE254FEA8E59372051AB0AB2&vn=flipped-web-2.0本地环境&vc=2.0",
    ],
  }
} else {
  if (process.env.VUE_APP_ENV === "preview") {
    cdn = {
      js: [
        "https://jic.talkingdata.com/app/h5/v1?appid=76034ADCDE254FEA8E59372051AB0AB2&vn=flipped-web-2.0测试环境&vc=2.0",
      ],
    }
  } else {
    cdn = {
      js: [
        "https://jic.talkingdata.com/app/h5/v1?appid=76034ADCDE254FEA8E59372051AB0AB2&vn=flipped-web-2.0正式环境&vc=2.0",
      ],
    }
  }
}

module.exports = {
  chainWebpack: (config) => {
    config.plugin("html").tap((args) => {
      args[0].cdn = cdn
      return args
    })
  },
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Edit on GitHub~
LastUpdated: 5/17/2022, 8:59:22 AM