gpt4 book ai didi

javascript - Gulp 指纹识别 + 生产部署

转载 作者:行者123 更新时间:2023-11-28 07:25:50 26 4
gpt4 key购买 nike

我正在使用 gulp 来执行前端项目的常见任务。我的目标是对我的 JS+CSS Assets 进行指纹识别并在部署时更新我的​​ rev-manifest 而不中断任何操作。我的任务看起来像这样:

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("."));
});

这正如我所期望的那样——它每次都会清除 list 文件,然后重写它们。我想做的只是在捆绑并缩小 JS +CSS 文件之后替换每个 list 的内容,而不影响用户体验。

此外,在我的快速路由文件中,我将 list 向下发送,以便我可以包含脚本/样式表,如下所示:

script(src="/shop-assets/javascripts/production/#{assetPathJS}")

但是当我删除并重写 list 文件时,用户会看到间歇性故障。有人对这个问题有什么建议吗?我见过的大多数示例只有一个 gulpfile 入口点。谢谢!

最佳答案

我最终在我的路线文件中做了类似的事情:

var jsPaths = ServerConfig.assetPaths(["cleanout.js", "hiw.js", "do_good.js"], revManifestJS, "javascripts/");

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

关于javascript - Gulp 指纹识别 + 生产部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29662689/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com