CDN上的Dojo与自己的安装

CDN上的Dojo与自己的安装,dojo,cdn,latency,Dojo,Cdn,Latency,我使用了相当多的Dojo,但到目前为止,我只使用了一个CDN,比如AOL/Google 托管Dojo副本而不是通过CDN使用它是否有好处?我不需要太多地修改代码库,但我认为托管您自己的Dojo env还有其他优点/缺点。例如,您可以定制dojo的构建。因此,您只需要加载一个*.js文件。这样可以节省xhr请求使用的流量 -jstr从外部托管任何东西的缺点是您无法控制它。Google/AOL CDN无法解决这一问题,但BootyCall在其网站上使用Doug Crockfords json.js时

我使用了相当多的Dojo,但到目前为止,我只使用了一个CDN,比如AOL/Google


托管Dojo副本而不是通过CDN使用它是否有好处?我不需要太多地修改代码库,但我认为托管您自己的Dojo env还有其他优点/缺点。例如,您可以定制dojo的构建。因此,您只需要加载一个*.js文件。这样可以节省xhr请求使用的流量


-jstr从外部托管任何东西的缺点是您无法控制它。Google/AOL CDN无法解决这一问题,但BootyCall在其网站上使用Doug Crockfords json.js时也会遇到同样的问题


优点是,您不必为带宽付费,并且可以随时为自定义版本添加正确的到期日


我们在不保证能够访问internet的产品中使用Dojo,因此我们将Dojo作为我们产品的一部分提供。

难道不能将这两种方法结合起来吗? 我已尝试将dojoConfig配置为具有以下baseUrl//ajax.googleapis.com/ajax/libs/dojo/1.8.3/,同时脚本标记指向自定义dojo构建文件。 问题是,当我加载自定义dojo.js时,NLS文件(例如dojo_en-US.js)没有加载。找不到解决方法

在我看来,只要部署环境对CDN开放,这将是最好的解决方案,原因有几个(如其他人所述): 1.自定义dojo减少了XHR并提高了性能 2.如果自定义构建不完整(有人添加了require),那么XHR的服务速度会更快 3.有些资源(如图像)无法嵌入到自定义构建中,因此最好从CDN加载它们 4.应用程序的打包和部署要快得多,因为它应该只包含dojo.js文件,而不包含整个dojo发行版资源

如果有人能证明我错了,告诉我如何将这两种方法结合起来,我会很高兴

谢谢,
Lior

是的,自定义版本应该是自己托管它的主要原因。虽然不是自定义版本的强大功能,但是CDN中包含了一些“标准”层,比如dijit.js,它将与dojo.require(“dijit.dijit”)一起完整地呈现,这很有趣。使用自定义生成是否意味着更改我当前使用的“dojo.require”?jep,通过创建自定义生成并包含它,您不再需要任何dojo.requires,因为所有必需的资源都包含在由标记加载的文件中。如果配置发生更改,您仍应在需要的地方使用dojo.requires。如果类已经加载,则Dojo.require是no-op。谢谢-非常有用的示例。在构建上设置过期是否需要很多工作?不,通常只是用相关数据更新Web服务器,例如在apache上安装mod_expires