84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
对于同步模块,模块必须提前加载进内存中。对于异步模块,比如说他的实现requirejs,依赖前置,且提前执行,这不也是提前加载进内存了吗,那为什么说是异步的?看了很多AMD和CMD的知识,就是不太明白同步模块加载和异步模块加载的区别。
这个机制和【内存】关系并不大,更多可以理解为【脚本的下载时机】。
前端的特殊性在于,脚本文件的体积和下载时间,会直接影响页面性能。同步加载的规范中,所有依赖必须下载好后,脚本才能执行。
而异步加载的规范中,只有代码运行到需要的位置时,才会加载所需要的脚本。例如一个巨大的单页应用,首页部分的脚本可以特别轻,而进入某个功能页时,再异步加载需要的模块,这样对性能有很大的帮助。
requirejs的异步加载本质上是在
这个机制和【内存】关系并不大,更多可以理解为【脚本的下载时机】。
前端的特殊性在于,脚本文件的体积和下载时间,会直接影响页面性能。同步加载的规范中,所有依赖必须下载好后,脚本才能执行。
而异步加载的规范中,只有代码运行到需要的位置时,才会加载所需要的脚本。例如一个巨大的单页应用,首页部分的脚本可以特别轻,而进入某个功能页时,再异步加载需要的模块,这样对性能有很大的帮助。
requirejs的异步加载本质上是在
里append需要异步加载的