2017-05-04 61 views
0

我下面從確切here的例子,有我自己的版本:gulp - 用browserify uglify js文件?

gulp.task('build-js', function() { 
    var bundler = browserify('js/*.js'); 

    return bundler.pipe() 
     .pipe(source('bundle.min.js')) 
     .pipe(buffer()) 
     .pipe(sourcemaps.init()) 
     .pipe(uglify()) 
     .pipe(sourcemaps.write('./maps')) 
     .pipe(gulp.dest('dist')) 
     .pipe(livereload()); 
}); 

可是爲什麼我得到這個錯誤:

$ gulp 
[21:48:33] Using gulpfile /var/www/html/mysite/gulpfile.js 
[21:48:33] Starting 'apply-prod-environment'... 
Setting NODE_ENV to 'production' 
Successfully set NODE_ENV to production 
[21:48:33] Finished 'apply-prod-environment' after 169 μs 
[21:48:33] Starting 'build-js'... 
[21:48:33] 'build-js' errored after 11 ms 
[21:48:33] TypeError: bundler.pipe is not a function 

有什麼我錯過了?

回答

1

似乎由vinyl-buffer提供的例子有一個錯誤:將轉換前必須先調用bundle(),不pipe()

return bundler.bundle() 
    .pipe(source('bundle.min.js')) 
    .pipe(buffer()) 
    .pipe(sourcemaps.init()) 
    .pipe(uglify()) 
    .pipe(sourcemaps.write('./maps')) 
    .pipe(gulp.dest('dist')) 
    .pipe(livereload()); 

另一個例子是在Gulp庫提供的(一個確實應該直接使用browserify API在Gulp)。

+0

我剛纔也注意到了! – laukok

+1

我會照顧建議對自述文件進行編輯。 :) https://github.com/hughsk/vinyl-buffer/pull/6 –

+0

謝謝你這樣做! :-) – laukok