背景: 随着项目体积变大,导致热更新速度成倍增加,严重影响开发效率! 切入点: 路由文件中引入文件过多, 开发环境使用 require 方式引入; 生产环境使用异步加载; 方法: 新建 _import_development.js 新建 _import_production.js 路由引入方式修改 ...
分类:
Web程序 时间:
2019-07-19 15:21:06
阅读次数:
232
js模块化提供三种规范 1.commonjs规范,代表nodejs适合后台开发,因为是同步的,服务器运行快,等待时间不长,commonjs不适合用于前端,前端的客户端是浏览器,浏览器追求异步加载,浏览器不能等待时间太长。 2.前端模块规范:amd 代表requirejs 是异步的 3.第三个模块化规 ...
分类:
其他好文 时间:
2019-07-04 21:23:26
阅读次数:
119
本章以京东商品详情页为例,京东商品详情页虽然仅是单个页面,但是其数据聚合源是非常多的,除了一些实时性要求比较高的如价格、库存、服务支持等通过AJAX异步加载加载之外,其他的数据都是在后端做数据聚合然后拼装网页模板的。 如图所示,商品页主要包括商品基本信息(基本信息、图片列表、颜色/尺码关系、扩展属性 ...
分类:
其他好文 时间:
2019-06-30 14:06:08
阅读次数:
93
js特点:单线程异步 (其实就是多线程,只是说用异步的方式表现出来了而已) 同步的会阻塞代码,在html中,只有script标签中的src会阻塞代码,可以通过defer属性和async属性进行解决 JavaScript的异步加载:异步加载又叫非阻塞加载,浏览器在下载执行js的同时,还会继续进行后续页 ...
分类:
编程语言 时间:
2019-06-20 15:36:22
阅读次数:
112
问题:路由在非常多的情况下,一次性把全部组件打包到一起,会导致打包的js文件很大,首屏加载的时间会变得很长 解决: 1-路由配置: 2- 安装 babel-plugin-syntax-dynamic-import 3- .babelrc配置 4- 重启项目,调试方法 重启项目后,调试方法是:切换到不 ...
分类:
其他好文 时间:
2019-06-16 11:32:48
阅读次数:
135
async 函数 1. 含义 ES2017 标准引入了 async 函数,使得异步操作变得更加方便。 async 函数是什么?一句话,它就是 Generator 函数的语法糖。 前文有一个 Generator 函数,依次读取两个文件。 上面代码的函数gen可以写成async函数,就是下面这样。 一比 ...
分类:
其他好文 时间:
2019-06-10 20:04:03
阅读次数:
253
如上图,最近在开发的时候遇到了了一个很...嗯....的逻辑,在一个tree控件上面加载数据。 头一次是自己坑爹了,把这多级数据同步加载出来了,导致页面卡死。 第二次,把所有层级搞成异步加载,嗯,这样要好一点了。但是,到最后一级的时候数据有六千多条(更有甚者几万多条的)。又导致页面卡死: 解决办法是 ...
分类:
其他好文 时间:
2019-06-10 15:39:56
阅读次数:
124
selenium 模拟登陆豆瓣,爬去武林外传的短评: 在最开始写爬虫的时候,抓取豆瓣评论,我们从F12里面是可以直接发现接口的,但是最近豆瓣更新,数据是JS异步加载的,所以没有找到合适的方法爬去,于是采用了selenium来模拟浏览器爬取。 豆瓣登陆也是改了样式,我们可以发现登陆页面是在另一个fra ...
分类:
其他好文 时间:
2019-06-09 12:57:30
阅读次数:
86
同步加载 同步模式又称阻塞模式,会阻止浏览器的后续处理,停止了后续的文件的解析,执行,如图像的渲染。流览器之所以会采用同步模式,是因为加载的js文件中有对dom的操作,重定向,输出document等默认行为,所以同步才是最安全的。通常会把要加载的js放到body结束标签之前,使得js可在页面最后加载 ...
分类:
其他好文 时间:
2019-05-29 10:34:42
阅读次数:
84
1.安装 2.引入 3.初始化 4.async await 异步加载,先加载出player再使用 async mounted () { //async await 异步加载,先加载出player再使用 await this.handleSuccess(); let aplayer = this.$r ...
分类:
其他好文 时间:
2019-05-18 18:45:48
阅读次数:
253