1、在文章开头,有个问题,浏览器中的js加载是同步加载还是异步加载?
我们知道ajax是异步加载的方式,但是浏览器中的js加载是同步加载的, 如果载入多个js,有某一个比较耗事的话,就会阻塞页面的载入。
2、如何设置让浏览器中的js加载是异步的呢?
设置了async之后,就会异步加载了
<script async src=""></script>
如果页面js过多,就得每个都设置,为了解决这个问题,就有了一些载入js的库,曾经流行过的js模块的一个标准,分别是由不同的js库提出
AMD: 异步模块定义,require.js,国际友人开发的
CMD:普通模块定义 ,sea.js,国人开发的
4、js模块化
把一些功能封装起来,比如jquery,template
模块:自己在封装代码的时候,封装到不能封装为止
5、如何使用require.js
step1:先引入require.js
step2:调用require.js的方法,去帮助我们载入其他的js,可以不用写后缀
step3:页面会自动给引入这几个js,是引入之后动态生成的,并且是异步的:
step4:但是有些代码,需要在这些js载入之后才能够使用,所以这个时候我们要引入回调函数,传入所需的参数:
总结:曾经有段时间require.js是真的流行过,但是在工作中发现也没那么试用,小公司用不上,大公司一般会自己开发插件,所以就没那么流行了,但是有需求的大家还是可以了解一下,如果有需要用到的话可以了解一下这个用法。