Я использую Gulp v.4 из npm с модами gulp-rev и gulp-rev-rewrite для предотвращения Cash Busting CSS и JS. Но даже если я уже прочитал много руководств и заметок, это все равно не сработает. На самом деле мод gulp-rev работает хорошо, но когда я хочу переписать ссылки внутри html (для моего, например, файла latte), он не переписывает эти имена.
gulp.task('rev', () =>
gulp.src('web/dist/**/*.{css,js}')
.pipe(rev())
.pipe(gulp.dest('web/dist/build'))
.pipe(rev.manifest())
.pipe(gulp.dest('web/dist'))
);
function rew() {
const manifest = gulp.src('web/dist/rev-manifest.json');
return gulp.src('app/FrontModule/templates/_styles.latte')
.pipe(revRewrite({ manifest: manifest }))
.pipe(gulp.dest('test'));
}
В rev-manifest.json у меня есть что-то вроде этого:
{
"bootstrap-t4s.min.css": "bootstrap-t4s-85b8c0fa84.min.css",
}
и в html (латте) _styles.latte у меня есть это:
<link rel="stylesheet" href="css/bootstrap-t4s.min.css" media="all">
когда я запускаю функцию gulp для перезаписи этого файла с помощью json, я получаю _styles.latte, который выглядит так же, как и раньше:
<link rel="stylesheet" href="css/bootstrap-t4s.min.css" media="all">
Так что я делаю не так?