Javascript 吞咽指纹+生产部署

Javascript 吞咽指纹+生产部署,javascript,deployment,gulp,Javascript,Deployment,Gulp,我正在使用gulp处理前端项目中的常见任务。我的目标是对我的JS+CSS资产进行指纹识别,并在部署时更新我的版本清单,而不中断任何操作。我的任务如下所示: gulp.task("clean-js", function() { return del(["./public/shop-assets/javascripts/production/*.js", "./rev-manifest.json"], function(){ console.log("Production JS fo

我正在使用gulp处理前端项目中的常见任务。我的目标是对我的JS+CSS资产进行指纹识别,并在部署时更新我的版本清单,而不中断任何操作。我的任务如下所示:

gulp.task("clean-js", function() {
   return del(["./public/shop-assets/javascripts/production/*.js", "./rev-manifest.json"], function(){
     console.log("Production JS folder and rev-manifest JSON cleared");
  });
});

gulp.task("clean-css", function() {
  return del(["./public/shop-assets/stylesheets/production/*.css", "./rev-manifest-css.json"], function(){
    console.log("Production CSS folder and rev-manifest-css JSON cleared");
  });
});

gulp.task('js:prod',['clean-js'], function() {
  return gulp.src("./public/shop-assets/javascripts/*.js/")
    .pipe(uglify())
    .pipe(rev())
    .pipe(gulp.dest("./public/shop-assets/javascripts/production/"))
    .pipe(rev.manifest())
    .pipe(gulp.dest("."));
});

gulp.task('css:minify',["clean-css"], function() {
  return gulp.src("./public/shop-assets/stylesheets/*.css")
    .pipe(minifyCss())
    .pipe(rev())
    .pipe(gulp.dest("./public/shop-assets/stylesheets/production/"))
    .pipe(rev.manifest())
    .pipe(rename("rev-manifest-css.json"))
    .pipe(gulp.dest("."));
});
这就是我所期望的,它每次都会清除清单文件,然后重写它们。我想做的只是在绑定并缩小JS+CSS文件后替换每个清单的内容,而不阻塞用户体验

此外,在我的express routes文件中,我正在向下发送清单,这样我就可以包含脚本/样式表,如下所示:

script(src="/shop-assets/javascripts/production/#{assetPathJS}")
但当我删除并重写清单文件时,用户将看到间歇性故障。
有人对这件事有什么建议吗?我看到的大多数示例只有一个gulpfile入口点。谢谢

我最后在我的routes文件中做了如下操作:

var jsPaths=ServerConfig.assetPath[cleanout.js,hiw.js,do_good.js],revManifestJS,javascripts/

其中,函数AssetPath根据环境解析路径名。比我想象的简单