1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- var gulp = require("gulp");
- var concat = require("gulp-concat");
- var rename = require("gulp-rename");
- var uglify = require("gulp-uglify");
- var reactify = require("reactify");
- var browserify = require("browserify");
- var source = require("vinyl-source-stream");
- var buffer = require("vinyl-buffer");
- var literalify = require("literalify");
- var config = {
- srcPath: './js/src/',
- dstPath: './js/build/',
- minify: false
- };
- /**** gulp tasks ***************************************************/
- gulp.task('vendor', function () {
- var bundler = browserify(config.srcPath + 'vendor.js');
- bundler.require('./js/react.js', {expose: 'react'});
- bundler.require('./js/bootstrap3.min.js', {expose: 'bootstrap'});
- //bundler.require('./js/jquery.js', {expose: 'jQuery'});
- return bundler.bundle()
- .pipe(source('vendor.js'))
- .pipe(gulp.dest(config.dstPath));
- });
- /*
- *gulp.task('vendor', function () {
- * gulp.src([
- * './js/jquery.js',
- * './js/react.js',
- * './js/bootstrap3.min.js'
- * ])
- * .pipe(concat('vendor.js'))
- * .pipe(gulp.dest(config.dstPath));
- *});
- */
- gulp.task('config', function() {
- //var bundler = browserify(config.srcPath + 'config.js');
- var bundler = browserify({ basedir: config.srcPath,
- extensions: ['.js', '.jsx', '.json'],
- debug: false});
- bundler.transform(reactify);
- //bundler.require('./server', {expose: 'server'});
- bundler.require('./config', {expose: 'appConfig'});
- bundler.exclude('react');
- if (config.minify)
- return bundler.bundle()
- .pipe(source('config.js'))
- .pipe(buffer())
- .pipe(uglify())
- .pipe(rename({suffix: '.min'}))
- .pipe(gulp.dest(config.dstPath))
- else
- return bundler.bundle()
- .pipe(source('config.js'))
- .pipe(gulp.dest(config.dstPath))
- });
- /**** gulp watch ***************************************************/
- gulp.task('watch', function() {
- /*
- *gulp.watch(config.srcPath + '/*.html', ['htmls']);
- *gulp.watch(config.srcPath + '/css/*.css', ['styles']);
- *gulp.watch(config.srcPath + '/images/*', ['images']);
- *gulp.watch(config.appjs, ['browserify']);
- */
- });
- /***** gulp main tasks *********************************************/
- gulp.task('build', ['config']);
- gulp.task('default', ['vendor', 'build']);
|