2013-03-07 82 views
0

這可能是一個過早優化的情況,或者它可能是一個「它取決於」的事情......但是有沒有一種方法來推遲解析/執行部分的Javascript,直到那些部分的代碼可以被證明是必需的?推遲解析/加載Javascript

就我而言,我使用Rails資產管道,它可以方便地幫助將所有JS捆綁/縮小爲單個文件。但是,我的理解是這個文件需要在每次頁面加載時重新加載。但文件的某些部分僅用於某些頁面。

我模塊使用以下方式標記:

(function (window, undefined) { 
... all code here ... 
})(window); 

我會愛是一種方法來包裝每個這些模塊,使得它們只解析/加載/上需要它們的頁面執行,例如在DOM中找到<div class='use-module-x'>標記。

我知道我可以在模塊的初始化函數,以防止它試圖將自己初始化不是在需要的時候做一個if/then,但似乎它甚至會更好,只是避免了JS引擎考慮這個代碼在所有當它不需要時。

即使這不是一個真正的問題,我很好奇,如果/如何做到這一點。

回答