1、路由懒加载
路由懒加载简单来说就是访问到当前页面才会加载相关资源,提高页面加载速度。
{
  path: '/login', name: 'login',
  component: resolce => require(['@/pages/login'], resolve)
}
2、引入CDN
细心的同学会发现,项目打包完成后dist文件中有个vendor xxxx.js文件,此文件由引入的插件、库生成,引入的越多,vendor文件就越大,为此将体积较大的插件通过CDN引入,降低vendor文件的大小。
假设vue项目引用以下组件
import Vue from 'vue'

import App from './App.vue'

import router from './router'

import axios from 'axios'

import iView from 'iview'

import 'iview/dist/styles/iview.css'
(1)、在/build/webpack.base.conf.js中,增加externals
module.exports = {
  externals: {
    'vue': 'Vue',
    'axios': 'axios',
    'iview': 'iview'
  }
}
(2)、为解决dev环境下,重复引用库的问题,复制/index.html为/index.dev.html,并修改/build/webpack.dev.conf
plugins: [
  new HtmlWebpackPlugin({
    filename: 'index.html',
    // template: 'index.html',
    template: 'index.dev.html',
    inject: true
    })

]
(3)、在index.html中,引入cdn文件
<body>   
  <div id="app"></div>
  <script src="https://cdn.bootcss.com/vue/2.5.2/vue.min.js"></script>
  <script src="https://cdn.bootcss.com/axios/0.17.1/axios.min.js"></script>
  <script src="https://cdn.bootcss.com/iview/2.6.0/iview.min.js"></script>

</body>
(4)、提取css到外部,减少app.css体积
去除/src/main.js中引入的css文件,改为在开发环境下使用
// import 'iview/dist/styles/iview.css
if (process.env.NODE_ENV === 'development') {
  require('mint-ui/lib/style.css')
}
在/index.hrml中引入CDN文件
<head>
    <link href="https://cdn.bootcss.com/iview/2.6.0/styles/iview.css" rel="stylesheet">
    <title>app</title>
</head>
3、使用组建按需加入
如对于element-ui,需要那部分就使用哪部分。
4、将组件写的css整合到一个文件里;
5、打包时可以不下载Map文件,因为Map文件占内存也很大

Logo

前往低代码交流专区

更多推荐