当前位置: 首页 > news >正文

足球比赛直播cctv5超级优化空间

足球比赛直播cctv5,超级优化空间,小程序开发价格及清单,建分类信息网站一、是什么 Tree shaking 是一种通过清除多余代码方式来优化项目打包体积的技术,专业术语叫 Dead code elimination 简单来讲,就是在保持代码运行结果不变的前提下,去除无用的代码 如果把代码打包比作制作蛋糕,传统的方式是把鸡…

一、是什么

Tree shaking 是一种通过清除多余代码方式来优化项目打包体积的技术,专业术语叫 Dead code elimination

简单来讲,就是在保持代码运行结果不变的前提下,去除无用的代码

如果把代码打包比作制作蛋糕,传统的方式是把鸡蛋(带壳)全部丢进去搅拌,然后放入烤箱,最后把(没有用的)蛋壳全部挑选并剔除出去

treeshaking则是一开始就把有用的蛋白蛋黄(import)放入搅拌,最后直接作出蛋糕

也就是说 ,tree shaking 其实是找出使用的代码

Vue2中,无论我们使用什么功能,它们最终都会出现在生产代码中。主要原因是Vue实例在项目中是单例的,捆绑程序无法检测到该对象的哪些属性在代码中被使用到

import Vue from 'vue'Vue.nextTick(() => {})

Vue3源码引入tree shaking特性,将全局 API 进行分块。如果您不使用其某些功能,它们将不会包含在您的基础包中

import { nextTick, observable } from 'vue'nextTick(() => {})

二、如何做

Tree shaking是基于ES6模板语法(importexports),主要是借助ES6模块的静态编译思想,在编译时就能确定模块的依赖关系,以及输入和输出的变量

Tree shaking无非就是做了两件事:

  • 编译阶段利用ES6 Module判断哪些模块已经加载
  • 判断那些模块和变量未被使用或者引用,进而删除对应代码

下面就来举个例子:

通过脚手架vue-cli安装Vue2Vue3项目

Vue2 项目

组件中使用data属性

<script>export default {data: () => ({count: 1,}),};
</script>

对项目进行打包,体积如下图

为组件设置其他属性(comptedwatch

export default {data: () => ({question:"", count: 1,}),computed: {double: function () {return this.count * 2;},},watch: {question: function (newQuestion, oldQuestion) {this.answer = 'xxxx'}
};

再一次打包,发现打包出来的体积并没有变化

Vue3 项目

组件中简单使用

import { reactive, defineComponent } from "vue";
export default defineComponent({setup() {const state = reactive({count: 1,});return {state,};},
});

将项目进行打包

在组件中引入computedwatch

import { reactive, defineComponent, computed, watch } from "vue";
export default defineComponent({setup() {const state = reactive({count: 1,});const double = computed(() => {return state.count * 2;});watch(() => state.count,(count, preCount) => {console.log(count);console.log(preCount);});return {state,double,};},
});

再次对项目进行打包,可以看到在引入computerwatch之后,项目整体体积变大了

三、作用

通过Tree shakingVue3给我们带来的好处是:

  • 减少程序体积(更小)
  • 减少程序执行时间(更快)
  • 便于将来对程序架构进行优化(更友好)

参考文献

  • https://segmentfault.com/a/1190000038962700
http://www.mmbaike.com/news/41903.html

相关文章:

  • 高端定制网站是什么网络营销推广合作
  • 用旧手机做网站服务器站长工具手机综合查询
  • 淘宝上找人做网站刷外链工具
  • 房山手机网站建设搜狗网址导航
  • 自营店网站建设凡科建站登录官网
  • 我自己做的网站上有图片宣传食品最常用的网页制作软件
  • 企业网站设计网经典模板网站建设
  • 做网站数据库怎么整如何做品牌运营与推广
  • 江苏建设厅官网网站潍坊住房公积金
  • 已有网站开发app个人免费自助建站网站
  • 做个医院网站多少钱百度搜索趋势
  • 58同城网站招聘怎么做外链提交
  • 网页美工设计工作内容百seo排名优化
  • 创建一个自己的网站的步骤怎么自己弄一个网站
  • 在线设计网站哪个好本周国内重大新闻十条
  • 为什么我自己做的网站百度不到小红书笔记关键词排名优化
  • 佛山网页网站设计北京seo公司
  • 网站建设中英文表述天津最新消息今天
  • 自己做的网站给人攻击了怎么办郴州seo网络优化
  • 淘宝客做自已的网站百度手机怎么刷排名多少钱
  • 金湖有哪里做网站的独立站seo建站系统
  • 坪山商城网站建设哪家公司靠谱广告公司招聘
  • 酷炫的网站模板免费下载站长素材网站官网
  • 汕头网站制作泰安网站建设
  • 外国人做旅游攻略网站seo网站排名全选
  • 代备案网站空间宁波seo在线优化方案公司
  • 玉环在哪里做网站网络开发
  • 网站建设的特点外汇交易平台
  • 360报危险网站百度点击软件找名风
  • 企业网站建设视频湖南网站营销seo方案