UNPKG

generator-bingo-dig-h5

Version:

Bingo-dig-h5 generator by BINGO.DIG

65 lines (54 loc) 1.7 kB
var browserify = require('browserify'); var watchify = require('watchify'); var gulp = require('gulp'); var source = require('vinyl-source-stream'); var handleErrors = require('../util/handleErrors'); var bundleLogger = require('../util/bundleLogger'); var notify = require('gulp-notify'); var rename = require('gulp-rename'); var config = { debug: true, extensions: [ '.jsx' ], bundleConfigs: [ { entries: './src/app.jsx', dest: './build/js/', outputName: 'app.js' }] }; gulp.task('browserify', function(callback) { var bundleQueue = config.bundleConfigs.length; var browserifyThis = function(bundleConfig) { var bundler = browserify({ cache: {}, packageCache: {}, fullPaths: false, entries: bundleConfig.entries, extensions: config.extensions, debug: config.debug }); var bundle = function() { bundleLogger.start(bundleConfig.outputName); return bundler .bundle() .on('error', handleErrors) .pipe(source(bundleConfig.outputName)) .pipe(gulp.dest(bundleConfig.dest)) .on('end', reportFinished) //.pipe(notify({ message: '编译合并JSX文件完成!!' })); }; if(global.isWatching) { bundler = watchify(bundler); bundler.on('update', bundle); } var reportFinished = function() { bundleLogger.end(bundleConfig.outputName); if(bundleQueue) { bundleQueue--; if(bundleQueue === 0) { callback(); } } }; return bundle(); }; config.bundleConfigs.forEach(browserifyThis); });