说方法之前肯定得搞清楚什么导致了项目首次加载慢,我看了打包过程,然后发现字体文件过大,这是其一,还有我引入了echarts三方库,这是其二,打包后发现vendor.js文件过大,这是其三,整个项目加载app.js之前首先得加载vendor.js和app.css,所以vendor.js文件过大会造成项目加载特别慢。好原因我知道了,然后就对症下药。。。。。。。。。
字蛛官网:http://font-spider.org/#use
详细操作我推荐看这篇文章:https://blog.csdn.net/qq_33744228/article/details/80613496
我按照这样做了,但是报错了:
弄到这里我只能呵呵。。。。。。。。
不得行,我必须搞清楚怎么回事啊。。。。。。。。。然后倒腾了半天发现我特么在项目文件夹上一个目录操作 font-spider ./font.html 。。。。。。。。。。被自己蠢哭了,然后cd 项目名,再执行命令就ok了。最后成功把字体文件压缩了。
把不常改变的库放到index.html中,通过cdn引入:
然后找到build/webpack.base.conf.js文件,在module.export={}中添加以下代码:
'echarts':'echarts'后面这个为名字,在文件夹里可以随便使用echarts,比如:
在main.js中使用:Vue.prototype.$echarts = echarts --- 这个名字要和上面那个对应
1.路由懒加载:
这个网上很多,在路由router/index.js中:
import Index from '../components/Index'
import { resolve } from 'path';
Vue.use(VueRouter)
export default new VueRouter({
routes: [
{
path: '/',
name: '首页',
component: Index,
meta:{
index:1
}
},
{
path: '/bannerinfo',
name: '图片详细信息1',
component:resolve => require(['@/components/BannerInfo'],resolve),
meta:{
index:1
}
},
{
path: '/callback',
name: '接收参数',
component:resolve => require(['@/components/callback'],resolve),
meta:{
index:1
}
},
{
path: '/banner2info',
name: '图片详细信息2',
component:resolve => require(['@/components/Banner2Info'],resolve),
meta:{
index:1
}
},
{
path: '/changestrategy',
name: '修改实盘',
component:resolve => require(['@/components/ChangeStrategy'],resolve),
meta:{
index:1
}
}
]
})
这个方法会把原本打包到一个app.js文件分开成多个js文件打包,这样会减小app.js文件的大小,但是不会减小整个js文件夹的大小。通过这种方式可以做到按需加载。因为刚开始进入页面就会把所有路由资源都加载,如果项目过大,加载得内容就会很多,等待的时间就很长,导致给用户不好的体验效果,所以我们特别推荐使用按需加载路由。。!!!!!!
2.工程文件打包的时候不生成.map文件
npm run build编译之后,我们查看打包的文件,发现有很多.map的文件,这些文件也占了很多空间。.map文件的作用是帮助编译后的代码调试,但是我们上线的代码已经调试完成,就不需要再生成.map文件了。
在config/index.js文件中将
的值修改为false,编译的时候就不会生成.map文件了。
解决vendor文件过大:http://www.php.cn/js-tutorial-405428.html
vue上线首页加载慢问题优化:https://blog.csdn.net/feiyu_may/article/details/80987404
解决vendor文件过大:https://blog.csdn.net/qq_26026975/article/details/79381555
vue首次加载缓慢的解决方法:https://www.jianshu.com/p/6262772bdc9c
vue中特殊字体压缩与字蛛的使用:https://blog.csdn.net/qq_33744228/article/details/80613496
字体下载:https://www.fontke.com/family/536638/style/