我在尝试在子文件夹中的html文件中正确运行gulp-rev-all时遇到问题。 我目前的网站结构是这样的:
/index.html
/gulpfile.js
/appsubFolder
|-> index.html
/Content
|-> some.css
|-> someOther.css
/Scripts
|-> some.js
|-> someOther.js
文件/appsubFolder/index.html
具有如下声明的构建标记:
<!-- build:css ../Content/styles.min.css -->
<link href="../Content/some.css" rel="stylesheet">
<link href="../Content/someOther.css" rel="stylesheet">
<!-- endbuild -->
然后在gulpfile中,我的任务配置如下:
gulp.task('minifyBundleRevision', ['clean:bundles', 'publish'], function () {
var revAll = new $.revAll({ dontRenameFile: ['.html'], debug: true });
return gulp.src('appsubFolder/index.html')
.pipe($.useref())
.pipe($.if("*.js", $.uglify()))
.pipe($.if("*.css", $.uglifycss()))
.pipe(revAll.revision())
.pipe(gulp.dest(publishFolder + '/appsubFolder'));
});
问题是,一切运行正常,但文件appsubFolder/index.html
以这样的部分结束:
<link href="../Content/styles.min.css" rel="stylesheet">
而不是
<link href="../Content/styles.min.[hash-here].css" rel="stylesheet">
尽管在Content
和Scripts
文件夹中,文件显示在其名称上有哈希值。
所以问题是,即使修订函数在文件上运行良好,它也不能正确替换文件/appsubFolder/index.html
中的html。
值得注意的是/index.html
上的所有内容都运行良好。
我该如何解决这个问题?