vue前端优化问题

1. 困扰

打包之后文件过大,很影响体验感,部署过后第一次访问网站需要好久的时间。还有一个问题,我发现浏览器加载资源文件时是同步加载的,而且是先加载音频文件再加载js文件,因为我用了一段4MB大小的音频,导致js文件需要好久才能被浏览器加载到,这就导致了网页向后端的请求需要在很久以后才会向后端发出。

2. 解决方案

1. vue-router使用懒加载

这是我的vue-router配置文件

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

//获取原型对象上的push函数
const originalPush = VueRouter.prototype.push
//修改原型对象中的push方法
VueRouter.prototype.push = function push(location) {
	return originalPush.call(this, location).catch(err => err)
}

export default new VueRouter({
	mode: "history",
	routes: [{
		path: '/home',
		component: resolve => require(['../views/home.vue'], resolve)
	}, {
		path: '/user',
		component: resolve => require(['../views/user.vue'], resolve)
	}, {
		path: '/admin',
		component: resolve => require(['../views/admin.vue'], resolve)
	}]
})

其中
component: resolve => require(['../views/home.vue'], resolve)就是用了懒加载

2. 去除 .map 文件

.map文件时开发者用来调试用的,生产环境没软用
在vue.config.js文件里面写入代码
(如果不存在这个文件就在项目的根目录下创建这个文件)

module.exports = {
	productionSourceMap: false
}

3. 压缩音频、图片等静态资源文件,这里以压缩音频为例

这里介绍一款工具和一个网站

工具:WinMP3Shrink 1.1
一个用于压缩音频的软件,用法超简单,这里就不赘述了。

网站: https://mp3cut.net/cn/
这个网站是用来剪音频的

4. 可以用gzip压缩

这个方法这次没用上,希望下次有机会可以研究研究。
(本来是想用,但是用npm下载的时候报错了,好像是因为版本不兼容,如果有好心人会的话可以教教我吗?)

昨天优化了一个下午,把10MB的打包文件优化到了800KB。我主攻的是后端,前端属于小白,初尝前端感觉挺有意思的。本文讲的内容或许比较粗浅,但都是我一个下午的切身感悟,希望能帮到和我一样刚开始学习前端的同学,更希望大佬看到可以指点一二。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值