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

杭州设计师网站镇江丹阳

杭州设计师网站,镇江丹阳,wap手机商城网站源码,施工企业资质查询官网在性能优化中#xff0c;我们都知道#xff0c;async属性可以让script标签变得不阻塞HTML解析#xff0c;defer属性也有类似的功能#xff0c;但实际defer是会阻塞script解析的#xff08;用defer的话#xff0c;多个script会按顺序执行#xff0c;而async执行是无序的我们都知道async属性可以让script标签变得不阻塞HTML解析defer属性也有类似的功能但实际defer是会阻塞script解析的用defer的话多个script会按顺序执行而async执行是无序的谁下载的快执行谁使用async属性理论上讲是要比defer更快的。 用async属性有什么问题 感觉不太安全因为async会让多个script标签执行是无序的 实际测试async看看是否是危险的 随便用一个脚手架起项目vue或react都行build之后进入dist目录下用http-server起服务访问html如下手动改成async。 !doctype html html lang headmeta charsetutf-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width,initial-scale1link relicon href/favicon.icotitlehello-world/titlescript async src/js/chunk-vendors.f5ba3c0d.js/scriptscript async src/js/app.382b3f67.js/scriptlink href/css/app.2cf79ad6.css relstylesheet /head bodydiv idapp/div /body /html 用弱网访问看下的图很明显 app.382b3f67.js 要先下载完因为size小。 确认是否是 app.382b3f67.js 先执行 手动往2个js里面埋入log代码结果和预期一样app.382b3f67.js先执行 确认 chunk-vendors.f5ba3c0d.js 里面的代码是关键依赖比如是vue或react理论上讲应该是要报错的因为依赖后执行了但结果并没有报错。 结论 在webpack项目内可以放心对多个script标签使用async属性webpack已经对产物做好了兼容 webpack是如何实现兼容async的 分析打包出来的产物可以探知到webpack是如何实现的 产物1app.382b3f67.js 简化后的方便理解。 (function () {use strict;var __webpack_modules__ ({4629:(function (__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {}),6949:(function (module) {})});!function () {// ...var chunkLoadingGlobal self[webpackChunkhello_world] self[webpackChunkhello_world] || [];chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));// .push 被改写chunkLoadingGlobal.push webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));}();var __webpack_exports__ __webpack_require__.O(undefined, [998], function () {return __webpack_require__(4629);})__webpack_exports__ __webpack_require__.O(__webpack_exports__); })(); console.log(app.382b3f67.js) 产物2chunk-vendors.f5ba3c0d.js简化后的方便理解。​​​​​​​ (self[webpackChunkhello_world] self[webpackChunkhello_world] || []).push([[998], {// ... }]); console.log(chunk-vendors.f5ba3c0d.js) 解释 1、app.382b3f67.js里面的关键代码webpack打包时的入口代码index.js比如new Vue()或root.render()被存放到了__webpack_require__(4629)里面每次打包数字会变不一定是4629 2、4629 没有立即被执行而是先存放好等依赖[998]准备好才执行 那app.382b3f67.js怎么知道依赖998已经准备好了呢 1、依赖[998]就是chunk-vendors.f5ba3c0d.js998被 .push 到了 self[webpackChunkhello_world] 里面这个push不是Array.push而是被改写过的我在上面写了注释具体是哪一行被改写了 2、改写的作用是可以通知到 app.382b3f67.js998依赖已经准备好了 由此可以得到结论 依赖未准备好时webpack打包时的入口代码index.js不会执行。 到这里还没完由上面的结论可以发现如果不做特殊处理我们几乎无法监控到webpack应用的白屏问题。 因为如果某个js资源网络问题丢失了index.js根本就不会执行意味着上报代码也不会执行。如果js执行报错那直接进程退出了上报代码也不会执行除非try catch了。 学习上 作为一个软件测试的过来人我想尽自己最大的努力帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源现在免费分享给大家有需要的小伙伴可以关注【公众号开心螺蛳粉】自提 软件测试面试文档 我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。 行动吧在路上总比一直观望的要好未来的你肯定会感谢现在拼搏的自己如果想学习提升找不到资料没人答疑解惑时请及时加入群1150305204里面有各种测试开发资料和技术可以一起交流哦。
http://www.w-s-a.com/news/542619/

相关文章:

  • 知晓程序网站怎么做网站基础维护
  • 兼职做网站赚钱吗图片设计制作哪个软件好手机
  • 做手机旅游网站智慧校园登录入口
  • 莆田网站建设维护国外极简网站
  • 百度怎样收录网站缪斯设计集团
  • 网站建设在开封找谁做wordpress 数据转换
  • 旅游网站开发的流程江苏付费网络推广培训
  • 网站软文标题2018wordpress主题
  • 德清网站设计wordpress免登录发布接
  • 可以做游戏的网站有哪些客户关系管理系统的主要功能
  • 整人关不掉的网站怎么做广东省网站免备案表
  • 网站设计素材edu域名网站
  • 中山学校的网站建设wordpress文章图片显示不出
  • 兰溪城市建设规划网站网站联盟的基本流程
  • 免费推广网站注册入口小说阅读网站怎么建设
  • 新网站怎么做网络推广怎么做企业网站排名
  • jsp商业网站开发网站链接如何做二维码
  • 江苏高校品牌专业建设网站怎么制作网站搜索窗口
  • 北京app建设 网站开发公司织梦网站seo
  • 大学网站 作风建设专题汽车配件外贸出口公司
  • 东莞做网站系统购物网站建设精英
  • 建设vip网站相关视频网站营销建设公司
  • 微站直播平台杭州seo按天计费
  • seo 新旧网站 两个域名福州设计网站建设
  • 如何做网站客户端如何做网络营销网站
  • 苏州网站建设制度打鱼网站建设
  • 瓜子二手车直卖网上海小红书seo
  • 天津中小企业网站制作珠海做网站的
  • 网站排名影响因素最牛的科技网站建设
  • 长春网站建设公司怎么样电商网站建设与开发期末考试