vue项目优化【缓存路由组件对象、路由组件懒加载、图片懒加载、打包文件分析与优化】

 

1. 缓存路由组件对象

<keep-alive>
<router-view />
</keep-alive>

好处: 复用路由组件对象, 复用路由组件获取的后台数据

 

2. 路由组件懒加载

src/router/index.js 


// import MSite from '../pages/MSite/MSite.vue'
// import Search from '../pages/Search/Search.vue'
// import Order from '../pages/Order/Order.vue'
// import Profile from '../pages/Profile/Profile.vue'
const MSite = () => import('../pages/MSite/MSite.vue')
const Search = () => import('../pages/Search/Search.vue')
const Order = () => import('../pages/Order/Order.vue')
const Profile = () => import('../pages/Profile/Profile.vue')

 

3. 图片懒加载: vue-lazyload

1) Github:

https://github.com/hilongjw/vue-lazyload

2) 下载包

npm install --save vue-loader

3) 使用

main.js

import VueLazyload from 'vue-lazyload'
import loading from './common/img/loading.gif'
Vue.use(VueLazyload, {
loading
})

use.vue

<img v-lazy="food.image">

4. 打包文件分析与优化

1) vue 脚手架提供了一个用于可视化分析打包文件的包 webpack-bundle-analyzer 和配置

2) 启用打包可视化: npm run build --report

3) 优化: 使用 date-fns 代替 moment

// import moment from 'moment'
// import {format} from 'date-fns'
import format from 'date-fns/format'
import Vue from 'vue'
Vue.filter('dateString', function (value, formatStr) {
// return moment(value).format(format || 'YYYY-MM-DD HH:mm:ss')
return format(value, formatStr || 'YYYY-MM-DD HH:mm:ss')
})

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值