Серия gulp inject с суффиксом
Утверждение: я работаю над приложением, в котором много обновлений в виде новых компонентов (html, js и css). Проблема, с которой я столкнулся, заключалась в том, что js-файлам потребовался бы чистый кеш или несколько обновлений страницы браузера, чтобы использовать новые по назначению, поэтому мы решили исправить версию js и css-файлов через gulp, поскольку мы уже используй это.
Проблема: попытка внедрить файлы в html с помощью gulp-inject в виде серий и добавление суффикса не работает. Файлы вводятся, но суффикс не прикрепляется.
Код:
gulp.task("inject", function () {
var timestamp = new Date().getTime();
var css_vendor = gulp.src([path.dirs.dist + "/vendor/**/*.css", path.dirs.dist + "/vendor.css"], {read: false});
var css_other = gulp.src([path.dirs.dist + "/**/*.css", "!" + path.dirs.dist + "/vendor/**/*.css", "!" + path.dirs.dist + "/vendor.css", "!" + path.dirs.dist + "/main*.css", "!" + path.dirs.dist + "/components*.css"], {read: false});
var css_main = gulp.src([path.dirs.dist + "/main*.css"], {read: false});
var css_components = gulp.src([path.dirs.dist + "/components*.css"], {read: false});
var js_vendor = gulp.src([path.dirs.dist + "/**/vendor*.js", "!" + path.dirs.dist + "/**/FileAPI*"], {read: false});
var js = gulp.src([path.dirs.dist + "/**/cex*.js", "!" + path.dirs.dist + "/**/FileAPI*"], {read: false});
return gulp.src([path.dirs.dist + "/index.html"])
.pipe(inject(series(css_vendor, css_other, css_main, css_components, js_vendor, js), {relative: true}, {
addSuffix: timestamp
}))
.pipe(gulp.dest(path.dirs.dist));
});
1 ответ
Вы не можете добавить простые числа или текст в качестве суффикса для gulp-inject, суффикс должен что-то означать, попробуйте что-то вроде этого:
addSuffix: '?' + timestamp
Просто отметьте, что если вы собираетесь использовать этот подход, вы должны отказаться от правильного кэширования!