Javascript 如何向js和css文件添加版本号

Javascript 如何向js和css文件添加版本号,javascript,gulp,bower,Javascript,Gulp,Bower,我想用适当的版本后缀将我的所有bower组件插入到我的索引页中。所谓版本后缀,我指的是每个组件的version属性在其bower.json文件中的版本号 例如, 我在应用程序的bower.json依赖项中有jquery { "dependencies": { "jquery": "^2.2.0", } } jquery组件有自己的.bower.json,json有一个version属性 { "name": "jquery", "main": "dist/

我想用适当的版本后缀将我的所有bower组件插入到我的索引页中。所谓版本后缀,我指的是每个组件的
version
属性在其
bower.json
文件中的版本号

例如,

我在应用程序的
bower.json
依赖项中有jquery

{
    "dependencies": {
        "jquery": "^2.2.0",
    }
}
jquery组件有自己的
.bower.json
,json有一个
version
属性

{
  "name": "jquery",
  "main": "dist/jquery.js",
  "license": "MIT",
  "version": "2.2.0"
  // ETC...
}
fileTypes: {
    html: {
        replace: {
            js: '<script src="{{filePath}}?v=0.1"></script>'
        }
    }
}
我想要的是从组件的
.bower.json
文件中提取这个版本号,并创建一个如下的脚本标记

<script src="/bower_components/jquery/dist/jquery.js?version=2.2.0"></script>
但我不知道如何获取每个特定组件的版本号,以及如何在wiredep将它们插入页面时分别覆盖它们

我的方法正确吗?那么,我如何进行呢? 或者有更好的方法来实现这一点

p.S.--此要求与缓存破坏相关。但一点也不。我正在使用gulp rev来破坏我的自定义应用程序js和css文件的缓存。但bower组件不应该在每次构建中都被缓存破坏。我想用它们的版本号引用它们,并且只在更新它们时使用缓存破坏,并使用新的版本后缀缓存半身像。

根据要求--

有几种缓存破坏机制使用数据校验和或哈希实现缓存破坏,这比更新版本号更适合您的需要:

  • 大口吞咽
  • 狼吞虎咽
  • 吞咽半身像
有一些是我在谷歌搜索时发现的


我最近使用的是第一个(吞咽缓存半身)

这是用于缓存破坏的吗?是的,是的。我知道用“大口喝”来破坏缓存。但它总是为每个构建创建一个新的后缀。我在自定义css和js文件中使用gulp rev。对于bower组件,我不想缓存bust它们。gulp-cache-bust使用MD5进行基于内容的缓存破坏,这是很好的了解:)肯定会尝试一下。你想写一个关于这个问题的解释吗?顺便说一句,大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大。可能是另一个仍然保留的吗?