这可能是过早优化的情况,也可能是“它取决于”的事情......但是有没有办法推迟 Javascript 部分的解析/执行,直到可以证明需要这些代码部分?
就我而言,我使用的是 Rails 资产管道,它可以方便地将我的所有 JS 捆绑/缩小到一个文件中。但是,据我了解,每次加载页面时都需要重新加载此文件。但文件的某些部分仅在某些页面上使用。
我的模块使用以下模式编码:
(function (window, undefined) {
... all code here ...
})(window);
我想要的是一种包装每个模块的方法,以便它们仅在需要它们的页面上解析/加载/执行,例如通过<div class='use-module-x'>
在 DOM 中查找标签。
我知道我可以if/then
在模块的 init 函数中执行一个操作,以防止它在不需要时尝试自行初始化,但似乎最好避免让 JS 引擎在不需要时考虑此代码。
即使这不是一个真正的问题,我也很好奇是否/如何做到这一点。