2017-01-10 1 views
1

일부 꿀꺽 꿀꺽 마른 파일을보고 있습니다. 나는 도와 줄 수 없었지만 어떤 작업에 대해서는 파일을 소스로 사용하는 중 gulp.src(...)이 사용되었다는 사실을 알았습니다. 그러나 다른 작업 (예 : browserify 사용)은 var source = require('vinyl-source-stream'); & .pipe(source('bundle.js'))이 사용되었습니다.`gulp.src` 대`vinyl-source-stream`?

나는 스트림 유형이 꿀꺽 꿀꺽 소리가 파일을 만드는 데 사용하는 것이지만 browserify가 직접 사용되었으므로 스트림 유형을 꿀꺽 꿀꺽 마심과 호환되는 것으로 변환해야한다고 생각합니다. 그러나 그게 사실 인 경우 ... & .pipe(buffer())의 이유는 분명히 buffer()이 변환을 수행하기 때문입니다.

[참조 : https://scotch.io/tutorials/getting-started-with-browserify]

답변

2

vinyl-source-stream 비닐 객체로 판독 가능한 스트림을 변환한다.

vinyl-buffer은 스트리밍 비닐을 버퍼 비닐로 변형시킨다.

vinyl 개체는 stream or a buffer을 래핑 할 수 있으며 gulp.dest은 둘 모두를 허용합니다. 그러나 몇몇 꿀풀 플러그인은 스트리밍 비닐을 허용하지 않습니다. 당신이 꿀꺽 작업을 시작할 때 사실,

가 지원되지 스트리밍

오류가 꽤 일반적입니다. 예를 들어, afaik, 스트리밍 비닐을 지원하는 nodejs minifier는 없습니다. 현재 플러그인이이 플러그인을 사용하려면 gulp-buffer이 필요합니다. gulp.src에서 생성

비닐은 버퍼하지만 비닐 그래서 vinyl-buffer이 추하게처럼, 그와 함께 몇 가지 플러그인을 사용해야한다,하지 (browserify.bundle()이 읽을 수있는 스트림을 반환) 읽을 수있는 스트림에서 vinyl-source-stream 생성.

으로 지정하면 함께 작동하도록 설정하지 않아도됩니다. 이 정말 간단 꿀꺽 작업이 제대로 작동합니다

그러나
gulp.task('browser' , function(){ 

    return browserify({ 
      debug: true, 
      entries : './browserify-script.js' 
     }) 
     .bundle() 
     .pipe(source('browserify-script.js')) 
     // .pipe(buffer()) //you don't need this, 
     //since gulp-dest accepts both streams and buffers 
     .pipe(gulp.dest('./scripts/')); 

}); 

에서, gulp-uglify 플러그인을 사용하려면 buffer이 필요합니다 uglify() 이후

gulp.task('browser-ugly' , function(){ 
    return bundler = browserify({ 
      debug: true, 
      entries : './browserify-script.js' 
     }) 
     .bundle() 
     .pipe(source('origin.js')) 
     .pipe(buffer()) //you cannot get rid of this. 
     .pipe(uglify()) 
     .pipe(gulp.dest('./scripts/')); 
}); 

는 버퍼를 기대하고있다. .pipe(buffer()) 줄을 잘라내면 uglify 플러그인에서 '지원되지 않는 스트리밍'오류가 발생합니다.

gulp.task('gulp-uglify' , function(){ 

    gulp.src('simple.js') 
    .pipe(uglify()) //no need to buffer() 
    .pipe(gulp.dest('./scripts')); 
}); 
: gulp.src 처음부터 버퍼 비닐을 생성하기 때문에

그러나, 일반적으로, 버퍼() 꿀꺽와 할 필요가 없습니다