【发布时间】:2016-02-22 19:57:15
【问题描述】:
我想用适当的版本后缀将我所有的 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 任务自动将我的组件插入 index.html。我可以通过覆盖wiredep的options属性,使用fileTypes属性为脚本标签的src属性添加自定义后缀。
fileTypes: {
html: {
replace: {
js: '<script src="{{filePath}}?v=0.1"></script>'
}
}
}
但我不知道如何获取每个特定组件的版本号,以及当wiredep 在页面上插入它们时如何单独覆盖它们。
我的方法正确吗?那么,我该如何进行呢? 或者有更好的方法来完成这个......
附注-- 此要求与缓存清除有关。但一点也不。我正在使用 gulp-rev 来缓存我的自定义应用程序 js 和 css 文件。但是凉亭组件不应该在每个构建中都被缓存。我想用它们的版本号来引用它们,并且只在我更新它们时使用缓存破坏,并使用新版本后缀缓存破坏。
【问题讨论】:
-
这是为了缓存破坏吗?
-
是的。我知道用于缓存破坏的“gulp-rev”。但它总是为每个构建创建一个新的后缀。我将 gulp-rev 用于我的自定义 css 和 js 文件。对于凉亭组件,我不想缓存它们。
-
gulp-cache-bust 使用 MD5 根据内容进行缓存清除
-
很高兴知道 :) 一定会试一试的。您想写一个答案并对该主题进行一些解释吗?顺便说一句,gulp-cache-bust 已被弃用。可能是另一个仍在维护的?
标签: javascript gulp bower