2015-12-23 2 views
0

У меня есть следующая задача на мой gulpfile.jsГлоток + Browserify задача не работает (не выход)

gulp.task('default', ['browserify']) 
gulp.task('browserify', function() { 
    return browserify('./public/js/x.js') 
     .bundle() 
     .pipe(source('y.js')) 
     .pipe(gulp.dest('./public/dist/js')) 
}) 

Но после запуска $ gulp она не дает никакого выхода. Я что-то упускаю?

ответ

1

Я не уверен, что ваш browserify, но я собираюсь предположить, что это не устаревший gulp-browserify.

Это должно сработать. Я тестировал:

var gulp = require('gulp'); 
var browserify = require('browserify'); 
var source = require('vinyl-source-stream'); // MAKE SURE THIS IS THERE 

gulp.task('default', ['browserify']) 
gulp.task('browserify', function() { 
    return browserify('./public/js/x.js').bundle() // .bundle is a browserify function 
    .pipe(source('y.js')) // Pass to output using vinyl-source-stream 
    .pipe(gulp.dest('./public/dist/js')); 
}); 

Поскольку мой код выглядит точно так же, как и ваш, можете ли вы убедиться, что у вас установлен винил?

npm install --save vinyl-source-stream

и если вы еще не:

npm install --save gulp browserify

npm install -g gulp

+0

Я работаю с [это] (https://viget.com/extend/gulp-browserify-starter-faq) в раздел _Basic Usage_. – arturojain

0

Я теперь поддерживая repository, который собирая все задачи глотком я использую в повседневной работе.

Это browserify код задачи

var gulp = require('gulp') 
 
var gulpif = require('gulp-if') 
 
var browserify = require('browserify') 
 
var gutil = require('gulp-util') 
 
var through2 = require('through2') 
 
var watchify = require('watchify') 
 
var assign = require('object-assign') 
 
var babelify = require('babelify') 
 
var config = require('config').gulp 
 

 
module.exports = function (is_dev) { 
 
    var options = { 
 
    paths: [config.src.js] 
 
    } 
 

 
    if (is_dev) { 
 
    options = assign({}, options, { 
 
     debug: true, 
 
     cache: {}, 
 
     packageCache: {} 
 
    }) 
 
    } 
 

 
    var bundler = function() { 
 
    return through2.obj(function (file, enc, next) { 
 
     var b = browserify(file.path, options) 
 
     .transform(babelify.configure({ 
 
      presets: ['es2015', 'react'], 
 
      compact: false 
 
     })) 
 

 
     if (is_dev) { 
 
     b = watchify(b) 
 
     b.on('update', bundle) 
 
     b.pipeline.on('file', function (filename) { 
 
      gutil.log(gutil.colors.green('Bundled: '), filename) 
 
     }) 
 
     } 
 

 
     return b.bundle(function (err, res) { 
 
     if(err) { 
 
      return next(err) 
 
     } 
 
     file.contents = res 
 
     next(null, file) 
 
     }) 
 
    }) 
 
    } 
 

 
    function bundle() { 
 
    is_dev ? gutil.log(gutil.colors.yellow('Bundling...')) : null 
 

 
    return gulp.src([ 
 
     config.src.js + '/**/*.js', 
 
     '!' + config.src.js + '/lib/**/*.js' 
 
    ]) 
 
    .pipe(bundler()) 
 
    .on('error', function(e) { 
 
     gutil.log(gutil.colors.red(e.message)) 
 
     is_dev ? this.emit('end') : null 
 
    }) 
 
    .pipe(gulp.dest(config.dist.js)) 
 
    } 
 

 
    return bundle() 
 
}

Смежные вопросы