Skip to content

Instantly share code, notes, and snippets.

@mosfet1kg
Last active March 13, 2017 08:04
Show Gist options
  • Save mosfet1kg/fc7fd34b47d3ec4d9fb53bf5b90b1ca1 to your computer and use it in GitHub Desktop.
Save mosfet1kg/fc7fd34b47d3ec4d9fb53bf5b90b1ca1 to your computer and use it in GitHub Desktop.
gulpfile.js
var gulp = require('gulp');
var browserSync = require("browser-sync").create();
var gutil = require('gulp-util');
var concat = require('gulp-concat');
var livereload = require('gulp-livereload');
var usemin = require('gulp-usemin');
var uglify = require('gulp-uglify');
var htmlmin = require('gulp-htmlmin');
var cleanCss = require('gulp-clean-css');
var rev = require('gulp-rev');
var del = require('del');
var src = 'app';
var dist = 'dist';
var paths = {
app : src + '/**',
js: src + '/**/*.js',
css: src + '/**/*.css',
scss: src + '/scss/*.scss',
html: src + '/**/*.html'
};
gulp.task('usemin', function() {
return gulp.src( paths.html )
.pipe(usemin({
css: [ rev(), cleanCss(), 'concat' ],
html: [ function () {return htmlmin({ collapseWhitespace: true });} ],
js: [ uglify(), rev(), 'concat' ],
inlinejs: [ uglify(), 'concat' ],
inlinecss: [ cleanCss(), 'concat' ]
}))
.pipe(gulp.dest(dist + '/'));
});
gulp.task('clean', function(){
return del('dist/**', {force:true})
});
gulp.task('watch', function(){
gulp.watch( paths.app, ['usemin']);
});
gulp.task('server', function () {
browserSync.init({
server: dist + '/'
});
gulp.watch( paths.app ).on('change', browserSync.reload);
});
gulp.task('imgCopy', function(){
return gulp.src( src + '/images/**/*')
.pipe( gulp.dest( dist + '/images/') );
});
gulp.task('fontCopy', function(){
return gulp.src( src + '/fonts/**/*')
.pipe( gulp.dest( dist + '/fonts/') );
});
gulp.task('default', ['usemin', 'imgCopy', 'fontCopy', 'server','watch']);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment