2017-10-12 120 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文件) –

相關問題