2015-12-23 61 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() 
 
}