1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| const { src, dest, series, watch } = require('gulp') const uglify = require('gulp-uglify') const del = require('del') const autoprefixer = require('gulp-autoprefixer') const sass = require('gulp-sass') const browserSync = require('browser-sync').create() const reload = browserSync.reload
function js(cb){ console.log('this is js task') src('js/*.js') .pipe(uglify()) .pipe(dest('./dist/js')) .pipe(reload({ stream: true })) cb() }
function css(cb){ console.log('this is css task') src('css/*.scss') .pipe(sass({outputStyle: 'compressed'})) .pipe(autoprefixer({ cascade: false, remove: false })) .pipe(dest('./dist/css')) .pipe(reload({ stream: true })) cb() }
function watcher(cb){ watch('js/*.js', js) watch('css/*.scss', css) cb() }
function clean(cb){ del('./dist') cb() }
function server(cb){ browserSync.init({ server: { baseDir: './' } }) cb() }
exports.scripts = js exports.styles = css exports.clean = clean
exports.default = series([ clean, js, css, server, watcher ])
|