我在尝试在子文件夹中的 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
中,文件出现在那里,其名称上带有哈希值。所以问题是,即使修订功能在文件上运行良好,它也不能正确替换文件中的 html/appsubFolder/index.html
值得注意的是一切都在/index.html
.
我应该如何解决这个问题?