2016-03-14 3 views
0

Заявление: Я работаю над приложением, которое имеет множество обновлений в виде новых компонентов (html, js и css-файлы). Проблема, с которой я столкнулся, заключалась в том, что js-файлам нужен четкий кэш или обновление нескольких страниц браузера, чтобы использовать новые, как предполагалось, так что исправление, о котором мы говорили, состояло в том, чтобы обновить файлы js и css через gulp, так как мы уже используй это.gulp inject series with suffix

Задача: попытка вставить файлы в 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)); 
}); 
+0

у вас нет ошибки? –

ответ

0

Вы не можете добавлять простые числа или текст в качестве суффикса для Глоток-Inject, суффикс должен означает что-то, попробуйте что-то вроде этого, вместо:

addSuffix: '?' + timestamp 

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

+0

Этот подход разбивает инъекцию, и в html-файле ничего не вводится. похоже, что addSuffix не работает даже со строкой. – Blitz

+0

@Blitz попробуйте только источник и не используйте серию(), чтобы увидеть, работает ли она или нет, если она не работает, используйте этот суффикс: 'addSuffix: '? Ver = 1'' и посмотрите, как это происходит. – Michael