【发布时间】:2013-03-24 17:43:16
【问题描述】:
我使用了很多 Dojo,但迄今为止,我只通过从 CDN 中包含它来使用它,例如 AOL/Google。
托管 Dojo 副本而不是通过 CDN 使用它有什么好处?我没有太多需要更改代码库,但我想还有其他优点/缺点?
【问题讨论】:
我使用了很多 Dojo,但迄今为止,我只通过从 CDN 中包含它来使用它,例如 AOL/Google。
托管 Dojo 副本而不是通过 CDN 使用它有什么好处?我没有太多需要更改代码库,但我想还有其他优点/缺点?
【问题讨论】:
通过托管您自己的 Dojo 环境。例如,您可以自定义构建 dojo。所以你只需要加载一个 *.js 文件。这样可以节省 xhr 请求使用的流量。
-jstr
【讨论】:
在外部托管任何东西的缺点是您无法控制它。您不会通过 Google/AOL CDN 获得此信息,但您可能会遇到 BootyCall 在他的网站上使用 Doug Crockfords json.js 时遇到的相同问题。 http://ajaxian.com/archives/doug-crockford-and-the-online-booty-call-saga
优点是您不必为带宽付费,并且会一直添加正确的到期时间
【讨论】:
+1 用于自定义构建。
我们在不保证可以访问互联网的产品中使用 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. 如果自定义构建不完整(有人添加了要求),XHR 的服务速度会更快 3. 自定义构建中存在无法嵌入的资源(如图片),最好从CDN加载 4.应用的打包和部署要快得多,因为它应该只包含dojo.js文件,而不是整个dojo发布资源。
如果有人能证明我错了并告诉我如何将这两种方法结合起来,我会很高兴。
谢谢, 利奥
【讨论】: