如何将版本号添加到 js 和 css 文件

How to add version number to js and css files

本文关键字:js css 文件 添加 版本号      更新时间:2023-09-26

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

举个例子,

我在应用程序的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...
}

我想要的是从组件的.bower.json文件中提取此版本号并创建这样的脚本标记

<script src="/bower_components/jquery/dist/jquery.js?version=2.2.0"></script>

我正在使用 gulp wiredep 任务自动将我的组件插入索引.html。我可以通过使用 fileType 属性覆盖 wiredep 的选项属性,将自定义后缀添加到脚本标签的 src 属性中。

fileTypes: {
    html: {
        replace: {
            js: '<script src="{{filePath}}?v=0.1"></script>'
        }
    }
}

但是我不知道如何获取每个特定组件的版本号,以及如何在 wiredep 将它们插入页面上时单独覆盖它们。

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

PS --此要求与缓存无效化有关。但完全没有。我正在使用 gulp-rev 来缓存破坏我的自定义应用程序 js 和 css 文件。但是 bower componenets 不应该在每次构建中都被缓存破坏。我想使用它们的版本号引用它们,并且仅在更新它们时使用缓存破坏,并使用新版本后缀进行缓存破坏。

按照要求 --

有几种缓存无效化机制使用数据的校验和或哈希来实现缓存无效化,这可能比必须更新版本号更适合您的需求:

  • 咕噜
  • 咕噜咕噜
  • 咕噜咕噜

是我发现的一些只是在谷歌搜索

我最近使用的那个是第一个(gulp-cache-bust)