gulp-rev-replace を取得して、サブフォルダー内の HTML ファイル間でファイル参照を同じハッシュに置き換える方法を知りたいです。次のファイル構造を考慮する
- index.html
- サブフォルダー
- index.html
- スクリプト
- main.js
- スタイル
- main.scss
そして、次の html ステートメント:
index.html:
<!-- build:css styles/main.css -->
<link rel="stylesheet" href="/bower_components/normalize-css/normalize.css">
<link rel="stylesheet" href="styles/main.css">
<!-- endbuild -->
サブフォルダー/index.html:
<!-- build:css ../styles/main.css -->
<link rel="stylesheet" href="/bower_components/normalize-css/normalize.css">
<link rel="stylesheet" href="../styles/main.css">
<!-- endbuild -->
そして私のGulpfileの以下
gulp.task('html', ['styles'], () => {
const assets = $.useref.assets({searchPath: ['.tmp', 'app', '.']});
return gulp.src('app/**/*.html')
.pipe(assets)
.pipe($.if('*.js', $.uglify()))
.pipe($.if('*.css', $.minifyCss({compatibility: '*'})))
.pipe($.rev())
.pipe(assets.restore())
.pipe($.useref())
.pipe($.revReplace())
.pipe($.if('*.html', $.minifyHtml({conditionals: true, loose: true})))
.pipe(gulp.dest('dist'));
});
のスタイル リンク ブロックはindex.html
、縮小およびハッシュ化された正しいスタイルシート参照に置き換えられます。の同じブロックはsubfolder/index.html
、まったく異なるハッシュ化されたスタイルシート参照を代わりに取得します。ただし、スタイルシートのパスは正しく取得されます。
Gulpfile の設定が間違っていますか?