gulp注入带后缀的系列

时间:2016-03-14 08:32:50

标签: gulp gulp-inject

声明:我正在开发一个以新组件(html,js和css文件)形式进行大量更新的应用程序。我遇到的问题是js文件需要一个清晰的缓存或一些浏览器页面刷新才能按预期使用新的,所以我们解决的问题是通过gulp来修改js和css文件,因为我们已经用它。

问题:尝试使用gulp-inject作为系列注入html文件并添加后缀无法正常工作。注入文件但未附加后缀。

代码

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 个答案:

答案 0 :(得分:0)

你不能为gulp-inject添加普通数字或文本作为后缀,后缀应该意味着什么,尝试这样的事情:

addSuffix: '?' + timestamp

请注意,如果您要使用此方法,则应放弃正确的缓存!