From f3335677b7e27cd5939da4dfdcc7b6b5b99f34a9 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Tue, 24 Nov 2015 19:37:24 +0800 Subject: [PATCH] use browser-sync as server --- gulpfile.js | 38 +++++++++++++++++++++++++++++--------- package.json | 1 + 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 73addf2..dfc41d7 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -5,31 +5,51 @@ var uglify = require('gulp-uglify'); var concat = require('gulp-concat'); var minifyCSS = require('gulp-minify-css'); var rename = require('gulp-rename'); +var browserSync = require('browser-sync').create(); + +// Static server +gulp.task('browser-sync', function() { + browserSync.init({ + server: { + baseDir: './' + }, + startPath: '/demo' + }); +}); // Move font file -gulp.task('font', function () { +gulp.task('copy', function () { return gulp.src('src/font/*') .pipe(gulp.dest('build/font')); }); -// Build src and css js files -gulp.task('compress', function() { +// Build src js files +gulp.task('compressJS', function() { gulp.src(['src/*.js']) .pipe(uglify()) .pipe(rename('APlayer.min.js')) - .pipe(gulp.dest('build')); + .pipe(gulp.dest('build')) + .pipe(browserSync.stream()); +}); + +// Build src css files +gulp.task('compressCSS', function() { gulp.src('src/*.scss') .pipe(sass()) .pipe(prefix(['last 15 versions', '> 1%', 'ie 8', 'ie 7'], { cascade: true })) .pipe(minifyCSS()) .pipe(rename('APlayer.min.css')) - .pipe(gulp.dest('build')); + .pipe(gulp.dest('build')) + .pipe(browserSync.stream()); }); -// Watch js and scss files for changes & recompile +// Watch files for changes & recompile gulp.task('watch', function () { - gulp.watch(['src/*.js', 'src/*.scss'], ['compress']); + gulp.watch(['src/*.js'], ['compressJS']); + gulp.watch(['src/*.scss'], ['compressCSS']); + gulp.watch('demo/*.html').on('change', browserSync.reload); + gulp.watch('demo/font/*', ['copy']); }); -// Default task, running just `gulp` will move font, compress js and scss and watch files. -gulp.task('default', ['font', 'compress', 'watch']); \ No newline at end of file +// Default task, running just `gulp` will move font, compress js and scss, start server, watch files. +gulp.task('default', ['copy', 'compressJS', 'compressCSS', 'browser-sync', 'watch']); \ No newline at end of file diff --git a/package.json b/package.json index d00f5f6..0cd7fd3 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ }, "homepage": "https://github.com/DIYgod/APlayer#readme", "devDependencies": { + "browser-sync": "^2.10.0", "gulp": "^3.9.0", "gulp-autoprefixer": "^3.1.0", "gulp-concat": "^2.6.0",