Vue项目提高页面加载速度的方法
1、路由懒加载路由懒加载简单来说就是访问到当前页面才会加载相关资源,提高页面加载速度。{path: '/login', name: 'login',component: resolce => require(['@/pages/login'], resolve)}2、引入CDN细心的同学会发现,项目打包完成后dist文件中有个vendor xxxx.js文件,此文件由引入...
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文件占内存也很大
更多推荐
所有评论(0)