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

北京建网站公司杭州网站推广与优化

北京建网站公司,杭州网站推广与优化,苏州做网站公司乛 苏州聚尚网络,快乐无极网站1.treeshaking是什么? Tree shaking 是一种通过清除多余代码方式来优化项目打包体积的技术,专业术语叫 Dead code elimination 简单来讲,就是在保持代码运行结果不变的前提下,去除无用的代码 如果把代码打包比作制作蛋糕&#…

1.treeshaking是什么?

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(() => {})

2.如何做

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

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

编译阶段利用ES6 Module判断哪些模块已经加载
判断那些模块和变量未被使用或者引用,进而删除对应代码
下面就来举个例子:

通过脚手架vue-cli安装Vue2与Vue3项目

vue create vue-demo

Vue2 项目
组件中使用data属性

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

对项目进行打包,体积如下图
在这里插入图片描述
为组件设置其他属性(compted、watch)

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,};},
});

将项目进行打包
在这里插入图片描述
在组件中引入computed和watch

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,};},
});

再次对项目进行打包,可以看到在引入computer和watch之后,项目整体体积变大了
在这里插入图片描述

3.作用

通过Tree shaking,Vue3给我们带来的好处是:

  • 减少程序体积(更小)
  • 减少程序执行时间(更快)
  • 便于将来对程序架构进行优化(更友好)
http://www.ds6.com.cn/news/46241.html

相关文章:

  • 大连海洋大学工程建设信息网哈尔滨seo推广优化
  • 靠谱高端网站设计首选百度人工客服在哪里找
  • 重庆百度地图都导航不出来的seo公司运营
  • 网站开发 合同网上教育培训机构排名
  • 做影视网站会侵权犯法吗襄阳网站推广优化技巧
  • 怎样网站建设怎么做网站关键词优化
  • 湖北企业模板建站信息谈谈你对网络营销的认识
  • seo 网站树广东seo网络培训
  • 太仆寺旗党建网站建设发布
  • wordpress主题教程佛山seo网站排名
  • 企业网站建设 知乎公司网站营销
  • 做六级真题的网站网站推广软文范例
  • 专业的佛山网站建设价格bt兔子磁力搜索引擎最新版
  • tech域名可以做网站吗合作seo公司
  • 网站定制开发微信运营免费企业网站建设流程
  • 积极做好门户网站建设工作软文素材网
  • 百度一下做网站北京seo百度推广
  • 陕西省建设网站抖音网络营销案例分析
  • 网站建设的一般过程包括哪些内容汕头seo建站
  • 网站设计与制作的过程企业培训系统
  • 运城市住房与城乡建设厅网站网站投放广告费用
  • 手机网站建设团队注册城乡规划师
  • 培训网站建设学校seo关键词排名优化的方法
  • 邢台建设网站百度ocpc怎么优化
  • 威海建设集团的网站是什么优化seo招聘
  • 重庆红旗河沟网站建设成都网络推广优化
  • 网站开发的价钱百度网站的网址
  • dedecms确定网站风格吸引人的软文标题例子
  • 辽宁响应式网站建设价格临沂seo公司
  • 保定专业网站建设公司2023知名品牌营销案例100例