當加速我們某個網站的初始加載速度時,我們將所有JavaScript都放在一個組合文件中,現在相當大 - 約90kb。 所有的分析工具都會說「你應該切換到異步沒有JavaScript塊渲染你的網頁」。結合jQuery +自定義腳本與異步或不?
這就是我們今天
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="/js/script.js"></script>
我們的腳本依賴於jQuery的結束標記之前。所以,我的問題是,最好是有一個接近200kb的腳本,即jQuery與我們的腳本連接起來,這樣我們就知道jQuery在我們自己的腳本之前被加載,並且可以異步加載jQuery,或者有另一種方法可以在不涉及很多第三方解決方案,如headjs,reactjs等
放入代碼,這是
<script src="/js/combined.js" async></script>
比這
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="/js/script.js" async></script>
更好它是否幫助任何如果我們繼續jQuery的同步,並把我們的腳本異步或在這個意義上是危險的我們無法確定jQuery是否在我們之前加載?
或者,作爲一個非解決方案,我們是不是在乎這一點,並專注於其他的東西,即真的值得追求最後的性能收益?
任何見解將不勝感激。
@Adergarrd當你說「我們的所有的JavaScript」,你的意思是整個網站? E.G不止一頁? – bassxzero
是的。出於許多原因,我們將應用程序的基本邏輯放在一個相當大(90kb)的js文件中。統計圖表,日期時間選項卡等等,我們已經在腳本之外,並且它們被加載到他們需要的頁面上。他們不是問題。問題是 - 我們如何在不破壞順序的情況下實現異步。 – Adergaard
@Adergarrd在自定義js文件的頂部循環直到(window.jQuery!== undefined)是一個可怕的想法? – bassxzero