我想将所有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...
}


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

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


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

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


但是我无法弄清楚如何获取每个特定组件的版本号,以及在wiredep将其插入页面时如何分别覆盖它们。

我的方法正确吗?那我该怎么办?
或者有更好的方法来实现这一目标...

附言-此要求与缓存清除有关。但一点也不。我正在使用gulp-rev缓存清除我的自定义应用程序js和css文件。但是Bower componenets不应在每个版本中都被缓存清除。我想用它们的版本号引用它们,并且仅在更新它们并使用新版本后缀进行缓存破坏时才使用缓存破坏。

最佳答案

按照要求 -

与更新版本号相比,有几种缓存校验机制可以使用校验和或数据散列来实现可能更适合您需求的缓存校验:


gulp-cache-bust
吞噬
吞噬


我发现有一些人只是在做谷歌搜索

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

关于javascript - 如何将版本号添加到js和CSS文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35562657/

10-16 21:18