Серия 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

Просто отметьте, что если вы собираетесь использовать этот подход, вы должны отказаться от правильного кэширования!

Другие вопросы по тегам