2013-03-07 83 views
0

这可能是一个过早优化的情况,或者它可能是一个“它取决于”的事情......但是有没有一种方法来推迟解析/执行部分的Javascript,直到那些部分的代码可以被证明是必需的?推迟解析/加载Javascript

就我而言,我使用Rails资产管道,它可以方便地帮助将所有JS捆绑/缩小为单个文件。但是,我的理解是这个文件需要在每次页面加载时重新加载。但文件的某些部分仅用于某些页面。

我模块使用以下方式标记:

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

我会爱是一种方法来包装每个这些模块,使得它们只解析/加载/上需要它们的页面执行,例如在DOM中找到<div class='use-module-x'>标记。

我知道我可以在模块的初始化函数,以防止它试图将自己初始化不是在需要的时候做一个if/then,但似乎它甚至会更好,只是避免了JS引擎考虑这个代码在所有当它不需要时。

即使这不是一个真正的问题,我很好奇,如果/如何做到这一点。

回答