vue 外部js加载优化
比如引入外部的地图js、视频组件js等,会堵塞html解析如果不是关键性js,可以添加async
属性,使其异步加载
添加前:
<script src="<%= BASE_URL %>cdn/js/liveplayer/liveplayer-lib.min.js"></script>
添加后:
<script async src="<%= BASE_URL %>cdn/js/liveplayer/liveplayer-lib.min.js"></script>
效果:
添加前:
添加后:
还有一个defer,好像会按顺序执行
区别总结:
- 加载顺序:
async
无序(哪个脚本先加载完哪个先执行),defer
有序(按照 HTML 中的顺序执行)。 - 执行时机:
async
脚本一旦加载完成立刻执行,defer
脚本会在 HTML 解析完成之后执行。