导航:首页 > 源码编译 > vue编译耗时

vue编译耗时

发布时间:2023-01-03 07:19:25

1. vue和react为什么运行时和编译

运行时与编译时是前端工程师常常听到的两个词。

比如 Vue 运行时、Angular 运行时、React 运行时……

又比如 svelte 框架,总听到他的宣传说的是“0 运行时”,所以他的工作其实就是在“编译时”了。

这两个词到底是什么意思呢?

2. vue生命周期总共有几个阶段

vue生命周期分为8个阶段,即分别是创建前、创建后、载入前、载入后、更新前、更新后、销毁前、销毁后。VUE是iOS和Android平台上的一款Vlog社区与编辑工具,允许用户通过简单的操作实现Vlog的拍摄、剪辑、细调、和发布,记录与分享生活,还可以在社区直接浏览他人发布的Vlog,与Vloggers互动。随着手机摄像头的发展,越来越多的人开始使用手机拍照和摄像。VUE软件通过点按改变视频的分镜数实现简易的剪辑效果,而剪辑能够让视频传达更多的信息。同时,该软件中有12款滤镜供用户选择,切换至前置摄像头会出现自然的自拍美颜功能。VUE支持40款手绘贴纸,还可以编辑贴纸的出现时间。

3. Vue.js生命周期的详细介绍

总共分为8个阶段,分别为beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroyed、destroyed.

beforeCreate:在实例初始化之后,数据观测者(data observer)和event/watcher事件配置之前调用。

在此阶段无法通过vm访问到data中的数据,methods中的方法。

created:在实例创建完成后立即调用。在这一步,实例已完成以下的配置:数据观测者,属性和方法的运算,watch/event事件回调。然而,挂载阶段还没开始,Sel属性目前不可见。

在此阶段可以通过vm访问到data中的数据,methods中的配置的方法。

beforeMount:在挂载开始之前调用,相关的render函数首次调用。

在此阶段1.页面呈现的是未经Vue编译的DOM结构。2.所以对DOM的操作,最终都不奏效。

mounted: el被新创建的vm.Sel替换,并且在挂载到实例上之后再调用该钩子.如果root实例挂载了一个文档内元素,当调用mounted时vm.el也在文档内。

beforeDestroy:在实例销毁之前调用。在这一步,实例仍然完全可用。

beforeUpdate:在数据更新时调用,发生在虚拟DOM重新渲染和打补丁之前。updated:由于数据更改导致的虚拟DOM重新渲染和打补丁,在这之后会调用该钩子。

在此阶段数据的更新,但是页面是旧的,无法操作新的DOM

updated阶段:页面是新的,一般在这里操作新DOM

destroyed:在Vue.js实例销毁后调用。调用后,Vue.js实例指示的所有东西都会解除绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。

4. vue2项目编译webpack耗时统计

vue编译命令 npm run build ,其实际使用的命令是 vue-cli-service build ,路径是 node_moles\@vue\cli-service\lib\commands\build\index.js

speed-measure-webpack-plugin 每一项耗时都有精确统计,搭配使用 webpack-bundle-analyzer 打包后的各个模块文件大小,直观明了,根据具体项目再去进行优化。

5. 使用create-vue过程中遇到的一些问题

例如没有引入的组件会报错: __If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. __

所以要关注浏览器的警告, 不能忽略,有时候出错了, 编译也不报错,排查很难受

解决方案: 将node版本升级到12及以上; 我用了12.16.2之后,启动成功

笔者误将vue-> Vue了,然后编译器报了个Two output files share the same path but have different contents; 说打包路径不能一直,搞得一脸懵;

最后通过对比发现,Pre-bundling dependencies的结果里面多了个Vue导致的😄;很难受

最后,vite编译的确实很快,不到6秒就能编译成功,风一般的速度; 不过在使用的时候要注意各种坑,希望vite官方,能将错误抛出来,而不是报警告。
感谢vite大佬为我们提供了这么快的编译工具!!!

6. vue编译打包速度优化

1、首先在config文件夹下配置webpack.dll.config.js(内容如下),要打包的模块的数组可以将一些较大的依赖放进vendor中

2、在package.json的scripts加上

3、运行npm run dll就可以生成vendor-manifest.json和vendor.dll.js

4、然后在index.html中引入vendor.dll.js

然后就可以正常的进行编译打包,会发现将更多的依赖放到vendor,打包速度越快

优化前

优化后

大概平均可以节省三分之一的时间。参考 webpack中文网

阅读全文

与vue编译耗时相关的资料

热点内容
又见金底副图选股公式源码 浏览:203
烧录编程器那个好用 浏览:542
三晋先锋app如何签约 浏览:439
网络如何读取服务器信息 浏览:434
mac压缩解压视频 浏览:906
这就是程序员魅力 浏览:296
京东java算法笔试题 浏览:178
柱子加密箍筋不准有接头 浏览:199
我的世界服务器菜单插件如何使用 浏览:12
刘毅10000词pdf 浏览:890
刚毕业的程序员会什么 浏览:974
单片机控制64路开关量 浏览:982
win10截图编程 浏览:420
怎样把名字变成文件夹 浏览:203
文件怎么搞成文件夹 浏览:730
多线程编程php 浏览:606
安卓机越用越卡有什么办法 浏览:17
高中生解压操场适合做的游戏 浏览:395
程序员java招聘 浏览:462
未来之光手机云服务器 浏览:160