【问题标题】:Getting the latest version from cdnjs [closed]从 cdnjs 获取最新版本 [关闭]
【发布时间】:2013-01-25 22:00:11
【问题描述】:

我想从我的内容交付网络中提取最新版本。

问:不要说:

cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.js

有没有办法这样说:

cdnjs.cloudflare.com/ajax/libs/modernizr/modernizr.js

并且不包括版本号?

【问题讨论】:

  • jsDelivr 使用相同的 CloudFlare 后端(以及其他)并支持版本别名(latest、semver 等)。 github.com/jsdelivr/jsdelivr#version-aliasing
  • jsDelivr 不支持从发布中获取文件,是吗?因为我不能让它工作。该文件不在文件夹结构中,仅在发布/下载中。

标签: javascript cdn


【解决方案1】:

你不想这样做。 CDN 是关于积极缓存的。例如。 CDN 服务器将在很远的将来发送Expires 标头,以确保资源保持缓存状态。

如果有一个 URL 总是指向最新版本,那么你所有的缓存都会发疯。一些客户仍然看到旧版本,而另一些客户则看到新版本。事实上,添加版本或其他标签是确保获取新版本并且客户端不涉及缓存的已知技术。看看你正在查看的页面的源代码即可:

http://cdn.sstatic.net/js/stub.js?v=655f0a867d03

如果没有 v 参数中的噪音,StackOverflow 团队将永远无法同时拥有:出色的缓存和快速可靠地推送新版本的能力。

最后但同样重要的是 - 您确定要盲目加载具有未知错误和弃用的最新脚本版本吗?考虑到第一部分,即使有人在抱怨,也很难判断他真正使用的是哪个版本。

【讨论】:

  • 当 jQuery 用他们的 attr 选择器做到这一点时,我被烧死了一次。但是我还没有吸取教训,所以是的,我总是想要最新版本。而且我从不希望它被缓存,所以在脚本引用中放置一个唯一的 url 参数是个好主意。
  • 我从不希望它最小化。
  • @Phillip:如果您不想缓存和缩小,为什么还要使用 CDN?
  • 始终获取最新版本。
  • 有最新版本的用途,没有缓存和缩小。我的是一个概念验证开发环境,拥有最新版本可以让我稍后回去看看它是否适用于新版本。
猜你喜欢
  • 2010-10-15
  • 2015-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-15
  • 1970-01-01
  • 2013-05-02
  • 1970-01-01
相关资源
最近更新 更多