2017-10-12 6 views
0

저는 Gulp를 사용하여 새로 왔습니다.dist 폴더에 두 개의 파일을 생성하지 않고 gulp로 uglify js를 어떻게 그릴 수 있습니까?

Gulp를 사용하여 정적 웹 사이트의 모든 js 파일을 어떻게 연결하고, uglify하고, gzip으로 처리 할 수 ​​있는지 궁금합니다.

나는 작품을 다음과 같이 작업을해야하지만, 내가 좋아하는 것 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 + 클라우드 프론트를 사용하여 웹 사이트를 서비스 할 것입니다. –

답변

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

마지막 파일은 build/js의 "combined.min.js.gz"입니다. 해당 이름이 마음에 들지 않으면 gulp-rename으로 이름을 바꿀 수 있습니다.

+0

답장을 보내 주셔서 감사합니다.하지만 빌드 폴더에 두 파일이 생성 된 것을 볼 수 있습니다. –

+0

흠, 확인을 위해이 파일을 몇 번 실행했습니다. 깨끗한 슬레이트로 시작하려면 먼저 빌드 폴더를 삭제 했습니까? – Mark

+0

uglify()가 build/js 폴더에 추가 파일을 만드는 것처럼 보입니다. temp 폴더에서 combined.js (uglify 파일 없음) 및 build/js combined.min.js (uglify 파일)을 볼 수 있기 때문에 –