2017-10-12 121 views
0

我是新的使用Gulp。我如何gzip uglify js与Gulp没有生成dist文件夹中的两个文件

我想知道如何从静态网站使用Gulp来连接,uglify和gzip所有js文件。

我有个任务像这样的工作,但我想只有在dist文件夹包含.GZ文件,而不是combined.js

gulp.task("concat-js", function() { 
return gulp.src("./src/js/*.js") 
    .pipe(concat("combined.min.js")) 
    .pipe(uglify()) 
    .pipe(gzip()) 
    .pipe(gulp.dest("./build/js")); 
}); 

UPDATE

我鼓励你阅读评论。在我的情况下,这个问题是由于使用gulp-useref引起的,因为在构建过程结束时生成了该文件。可能小巧的问题,但希望可以帮助任何人。

在此先感谢...

+0

为什么gzip他们,当你可以让你的服务器呢? –

+0

我打算使用S3 + Cloud前台为我的网站服务 –

回答

0

这应该工作。只需将.min文件存储在临时文件夹中即可。如果您愿意,可以稍后删除。

gulp.task("concat-js", function() { 
    return gulp.src("./src/js/*.js") 
    .pipe(concat("combined.min.js")) 

    .pipe(gulp.dest('./temp')) 

    .pipe(uglify()) 
    .pipe(gzip()) 
    .pipe(gulp.dest("./build/js")); 
}); 

最终文件将是“combined.min.js.gz”build/js中唯一的文件。如果你不喜欢这个名字,你可以用gulp-rename来重命名它。

+0

感谢您的回答,但是我仍然看到生成文件夹中生成的两个文件 –

+0

嗯,我跑了这几次来验证。你是否首先删除了你的构建文件夹以开始一个干净的石板? – Mark

+0

看起来像uglify()正在build/js文件夹中创建附加文件。因为我在临时文件夹中看到combined.js(没有uglify文件)和build/js combined.min.js(uglify文件) –

相关问题