gulp-rev-all不能在位于子文件夹中的html中正确替换路径

时间:2016-09-30 13:13:37

标签: html npm gulp gulp-rev

我在尝试在子文件夹中的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">

尽管在ContentScripts文件夹中,文件显示在其名称上有哈希值。 所以问题是,即使修订函数在文件上运行良好,它也不能正确替换文件/appsubFolder/index.html中的html。 值得注意的是/index.html上的所有内容都运行良好。

我该如何解决这个问题?

0 个答案:

没有答案