基于cli3.0的vue项目性能优化中首页加载优化我使用到的优化方案javascript
1.在vue.config.js中设置 productionSourceMap:false,能够使得打包事后的文件不包含未压缩的.map文件,减小压缩后代码体积css
2.vue.config.js中设置以下代码,使得首页不预先加载其余页面的css和js,首页能更快加载html
chainWebpack:config =>{ // 移除 prefetch 插件 config.plugins.delete("prefetch"); // 移除 preload 插件 config.plugins.delete('preload'); // 压缩代码 config.optimization.minimize(true); // 分割代码 config.optimization.splitChunks({ chunks: 'all' }) }
3.路由使用路由懒加载的方式,而且同一路由块的路由设置名相同,能够使用路由打包的时候文件少一些vue
1)webpack提供的路由懒加载方式,设置webpackName相同会生成同一个js文件
const interAirListGo = r => require.ensure([], () => r(require('../views/interAirList/interAirList')), 'webpackName') const interAirListBack = r => require.ensure([], () => r(require('../views/interAirList/interAirList')), 'webpackName')
2)Vue官方提供的require(),每一个路由会打包成一个js文件
{
,每一个路由会打包成一个js文件path: '/home', name: 'home', component: resolve => require(['@/components/home'], resolve) }
3)es6提供的import()
const Home = () => import('@/components/home')
4.项目中引入图片压缩(图片在线免费压缩网站 http://tintpng.com),图片放到cdn上面java
5.去掉项目中的console.logwebpack
6.项目里用到的第三方js库主要有:vue, vue-router, vuex, axio。你们知道这些依赖库的js文件都会被一块儿打包到vendor那个js文件里面,若是这些你的第三方依赖库不少,很大的话,那就会致使vendor这个文件很大,那首屏加载的速度确定会被拖慢,去掉package.json文件中无用的安装依赖,在index.html中使用cdn文件代替es6
7.骨架屏加载 提高用户体验(此图是盗图)web