2016-06-24 2 views
1

Gulp를 사용하여 서로 다른 위치에서 이미지를 최적화하려고합니다. 이 디렉토리 구조입니다 :Gulp에서 디렉터리 구조 복제

|-- app 
    |-- _images 
     -- image1.jpg 
     -- image2.jpg 
    |-- _templates 
     |-- _pages 
     |--_services 
      |--_images 
       -- image1.jpg 
       -- image2.jpg 

그리고 이것은 내가 데 문제는 응용 프로그램의 "템플릿"와 "페이지"디렉토리 "의 루트에 복사하는 것입니다 코드

gulp.task('images:tmp', function() { 
return gulp.src(['app/templates/pages/**/*.{png,jpg,gif,svg}', 'app/images/**/*.{png,jpg,gif,svg}'], {base: 'app/'}) 
// Caching images that ran through imagemin 
.pipe(cache(imagemin({ 
    interlaced: true, 
}))) 
.pipe(gulp.dest('.tmp')) 
}); 

입니다 .TMP 서비스 "디렉토리 :

|-- .tmp 
    |-- _images 
     -- image1.jpg 
     -- image2.jpg 
    |-- _templates 
     |-- _pages 
     |--_services 
      |--_images 
       -- image1.jpg 
       -- image2.jpg 

나는 단지 싶다"의 "와 함께"과 같이, 루트 서비스 "디렉토리를 :

|-- .tmp 
    |-- _images 
     -- image1.jpg 
     -- image2.jpg 
    |-- _services 
     |--_images 
      -- image1.jpg 
      -- image2.jpg 

위의 디렉토리 구조를 복제하는 작업을 어떻게 작성합니까? 도와 주셔서 미리 감사드립니다.

답변

0

(내가 주석으로이를 추가 할 수 없습니다)

두 스트림의 소스 스트림을 분할하고 https://github.com/gulpjs/gulp/blob/master/docs/recipes/using-multiple-sources-in-one-task.md의 제조법에 따라 합병 스트림을 반환 :

var merge = require('merge-stream'); 
gulp.task('images:tmp', function() { 
    var stream1 = gulp.src('app/templates/pages/**/*.{png,jpg,gif,svg}') 
        .pipe(cache(imagemin({interlaced: true}))) 
        .pipe(gulp.dest('.tmp')) 
       ); 
    var stream1 = gulp.src('app/images/**/*.{png,jpg,gif,svg}',{base: 'app/'}) 
        .pipe(cache(imagemin({interlaced: true}))) 
        .pipe(gulp.dest('.tmp')) 
       ); 
    return merge(stream1,stream2); 
}); 
0

감사합니다, maoizm을. 이것은 "var stream2"를 읽고 명백하게 불필요한 부분을 제거하기 위해 두 번째 "var stream1"을 편집 한 후 저에게 효과적이었습니다. 스트림에서.

gulp.task('images:tmp', function() { 
    var stream1 = gulp.src('app/templates/pages/**/*.{png,jpg,gif,svg}') 
       .pipe(cache(imagemin({interlaced: true}))) 
       .pipe(gulp.dest('.tmp'));    
    var stream2 = gulp.src('app/images/**/*.{png,jpg,gif,svg}',{base: 'app/'}) 
       .pipe(cache(imagemin({interlaced: true}))) 
       .pipe(gulp.dest('.tmp'));    
    return merge(stream1,stream2); 
}); 
관련 문제