runners3431
runners3431

Reputation: 1455

How do you configure browserify to work with gulp?

I can't use gulp-browserify. My input file is _/components/js/script.js (this has require('jquery'). I want it to output to _/js/script.js. What's wrong with my configuration? I get a path error.

var gulp = require('gulp'), 
    sass =  require('gulp-sass'), 
    uglify = require('gulp-uglify'),
    browserify= require('browserify'); 



gulp.task('watch', function(){
    gulp.watch('_/components/sass/*.scss', ['sass']);

});

gulp.task('browserify', function(){
    var b = browserify({entries: './_/components/js/script.js', debug: true}); 

    return b.bundle()
            .pipe(gulp.dest('./js/'));
});

gulp.task('default', ['sass', 'browserify', 'watch']);

Upvotes: 0

Views: 120

Answers (1)

MinusFour
MinusFour

Reputation: 14423

You can't pipe browserify bundle stream like that to a gulp.dest stream. It's expecting a vinyl stream. You could use vinyl-source-stream to transform it. This is very common:

var gulp = require('gulp'),
    browserify = require('browserify'),
    source = require('vinyl-source-stream');

var files = ['./js/admin.js', './js/login.js', './js/main.js']

gulp.task('browserify', function(){
    var b = browserify(files);
    b.bundle()
    .pipe(source('bundle.js'))
    .pipe(gulp.dest('public'))
});

Upvotes: 1

Related Questions