繁体   English   中英

延迟加载和依赖项解析

[英]Lazy loading and dependency resolution

前段时间,我在读一篇文章(某人建立的图书馆),介绍他的图书馆的工作方式

  1. JS的延迟加载
  2. 解决JS之间的依赖关系(通常在尝试从另一个“包含”一个js时遇到)
  3. 仅包含一次文件。 思想多次指定,无论如何调用(直接将其指定为文件或将其指定为依赖项之一)

我忘了给它加上书签,真是个错误 可以有人指出我可以做上述事情的事情吗? 我知道DOJO和YUI库有这样的东西,但是我正在寻找可以与jQuery一起使用的东西

我可能也在寻找其他功能。

  • 我的站点具有一些JS的asp.net用户控件(可重用的服务器端代码段)。 当页面加载时,其中一些立即被解雇,这给用户带来了糟糕的体验。 Yahoo性能准则指定JS应该位于页面的底部,但是在我的情况下这是不可能的,因为这将需要我将JS和相应的服务器端控件分离到不同的文件中,并且很难维护。 我绝对可以在用户控件JS中放入jQuery document.ready()以确保仅在DOM加载后才触发,但是我正在寻找一种更简单的解决方案。

无论如何,我可以说以一种全局的方式说“仅在DOM加载后才开始执行任何 JS”,而不是在每个用户控件中编写“ document.ready”吗?

微软研究院提出了一种名为DOLOTO的新工具。 它可以处理重写和功能拆分,并启用按需js加载。

来自网站。

Doloto是一个系统,可以分析应用程序工作负载并自动执行现有大型Web 2.0应用程序的代码拆分。 在由Doloto处理之后,应用程序最初将仅传输应用程序初始化所需的部分代码。 应用程序的其余代码被短存根(stub)取代-它们的实际功能代码在后台延迟传输,或者最迟在首次执行时按需传输。

好吧,我想我找到了链接

http://ajaxian.com/archives/usingjs-manage-javascript-dependencies http://www.jondavis.net/techblog/post/2008/04/Javascript-Introducing-Using-%28js%29.aspx

我还为那些对延迟加载/动态js依赖项解析感兴趣的人找到了一个

http://jsload.net/

关于延迟加载脚本的问题,大多数库只是在HTML内添加一个<script>元素,指向要“包含”的JS文件(异步地),而其他的对象(如DOJO)则使用XMLHttpRequest来获取其依赖项,然后评估其内容,使其同步工作。

我使用了非常简单易用的YUI-Loader,并且不需要整个库就可以使它工作。 还有其他库可以为您提供这种特定的功能,但是我认为YUI是安全的选择。

关于您的最后一个问题,我认为没有这样的事情。 您必须自己做,但这类似于使用document.ready

我在我的框架中做了类似的事情:
我创建了一个include_js(file); 仅在不包含js文件的情况下,才通过同步ajax调用读取和执行该文件。 只需将代码放在需要依赖项的页面顶部,就可以完成!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM