サブフォルダー内の 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
。
これを修正するにはどうすればよいですか?