有什么方法可以控制 Javascript 异步加载顺序?

Any way to control Javascript Async Load Order?

如何设置两个外部 async Javascript 文件的加载和执行顺序?

鉴于以下...

<script src="framework.js" async></script> // Larger file
<script src="scripts.js" async></script> // Small file

尽管由于文件大小原因,第二个 scripts.jsframework.js 之前下载和执行,但是 scripts.js 依赖于 framework.js

有没有一种方法可以在本地指定加载和执行顺序,同时仍然保持 async 属性?

如果要保留执行顺序,请使用deferdefer 的作用是异步下载脚本,但推迟执行直到 html 解析完成。

<script src="framework.js" defer></script>
<script src="scripts.js" defer></script>

但是,您可能希望在脚本数量增加后开始创建自定义包。

你可以看出区别here

如果您需要 IE9 的解决方案(因为它不支持 defer 属性),我创建了一个小型加载程序脚本:

https://github.com/mudroljub/js-async-loader

它异步加载所有脚本,然后按顺序执行它们。