2

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

我应该如何解决这个问题?

4

0 回答 0