众所周知,谷歌和 微软在它们的 CDN (内容分发网络)上托管几个常见的 javascript 库。不幸的是,两者似乎都不是 JSON2.js的宿主。
我知道我可以将 JSON2.js 的副本上传到我的服务器并自己服务它,但是 CDN 提供了许多优势,我想利用这些优势。
考虑到这一点,是否存在任何托管 JSON2的公共可用 CDN?如果没有,知道为什么吗?有没有版权方面的原因?
我认为,期望大型 CDN 开始这样做可能为时过早。当有足够多的站点使用库时,好处就变得很明显: 更高的可用性、更频繁的使用、减少客户机请求、提高终端用户的性能。如果只有少数站点使用它,那么客户端在其缓存中已经有副本的可能性就很低,所有性能提升都将丢失。所以剩下的就是微软和谷歌抵消你的带宽费用,这不是他们的本意。因此,解决方案是让更多的开发人员使用库。
而且图书馆太小了。使用保守的缩小方法,代码仍然只有3.5 KB。相比之下,jQuery 是24KB,ext-core 是29KB。我个人建议将库折叠到您自己站点的基本 JS 中,并在那里获得性能提升。至少要等到人们广泛接受。
另外,有趣的是,我原以为 JSON 库也是在 Yahoo 托管的,但是我找不到它。我是说克罗克福德在那里工作。
现在有了。
Douglas Crockford recently put JSON2 on github, this 网址 will always link to the most recent version.
编辑: 使用这种方法不是一个好主意,请参阅我在下面的评论。
检查 Cdnjs.com
Http://cdnjs.com/libraries/json2/
也许值得调查 詹森3号
Http://cdnjs.com/libraries/json3/
UPDATE: Some of the information was out of date, changed to better links.
来自 cdnjs.com 的 Thomas 在这里给出了没有缩小版的两个简单原因。
1)脚本可能不会按照作者的意图运行,使用我们选择的缩小方法。 2)作为一个安全步骤,我们确保所有的文件校验和匹配的原始作者托管的文件,使社区提交的更新不能包含畸形的缩小代码。
So for now that leaves us hosting Crockfords hosted un-minified version; Https://github.com/douglascrockford/json-js/raw/master/json2.js
Json2.js 可以在 Yandex CDN 服务器上找到。
完整版: http://yandex.st/json2/2011-10-19/json2.js
缩小: http://yandex.st/json2/2011-10-19/json2.min.js
HTTPS 也可以工作。