我使用了很多Dojo,但到目前为止我只是通过包含来自AOL / Google等CDN来使用它。
托管Dojo副本而不是通过CDN使用它是否有优势?我没有太多需要改变代码库,但我想还有其他优点/缺点?
答案 0 :(得分:6)
托管您自己的Dojo环境。例如,您可以自定义构建dojo。所以你只需要加载一个* .js文件。这节省了xhr请求使用的流量。
-jstr
答案 1 :(得分:1)
在外部托管任何内容的缺点是您无法控制它。你不会用谷歌/ AOL CDN得到这个,但是当你从他的网站上使用Doug Crockfords json.js时,你可能会遇到与BootyCall相同的问题。 http://ajaxian.com/archives/doug-crockford-and-the-online-booty-call-saga
优点是您不必为带宽付费,并且会一直添加正确的到期日
答案 2 :(得分:0)
+1自定义版本。
我们在不保证可以访问互联网的产品中使用Dojo,因此我们将Dojo嵌入作为产品的一部分。
答案 3 :(得分:0)
是不是可以将这两种方法结合起来? 我尝试将我的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发布资源。
如果有人能证明我错了,我会很高兴并告诉我如何将这两种方法结合起来。
谢谢, 利奥尔