Gulp+Browserify任务不工作(没有输出)

Gulp + Browserify task not working (no output)

本文关键字:输出 任务 工作 Gulp+Browserify      更新时间:2023-09-26

我的gulpfile.js 上有以下任务

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之后,它没有输出。我是不是错过了什么?

我不确定您的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

我现在正在维护一个存储库,它收集我在日常工作中使用的所有gull任务。

这是浏览的任务代码

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()
}