从CDN加载babel-polyfill时使用是否安全?
不它不是。 async
脚本“一旦可用就执行”,并且不保证执行顺序。 所以在下面的例子中:
<script src="polyfill.min.js" async></script>
<script src="survey-modal.js" async></script>
“polyfill”脚本有可能在“survey-modal”之后执行。 更好的方法如下:
<script src="polyfill.min.js" defer></script>
<script src="survey-modal.js" defer></script>
在解析文档后下载defer
脚本(因此它不会阻止页面呈现)但保证执行顺序。
PS:您提到当两个脚本都是异步时,您的代码都能正常工作。 是的,这是偶然的。 当从浏览器缓存加载polyfill时它将起作用,如果通过网络获取polyfill可能不起作用。