從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可能不起作用。