Guest User

Untitled

a guest
Oct 20th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1. var gulp = require('gulp');
  2. var sass = require('gulp-sass');
  3. var browserSync = require('browser-sync');
  4. var imagemin = require('gulp-imagemin');
  5. var uglify = require('gulp-uglifyjs');
  6. var concat = require('gulp-concat');
  7. var autoprefixer = require('gulp-autoprefixer');
  8. var rename = require('gulp-rename');
  9. var cssnano = require('gulp-cssnano');
  10. var imageminJpegRecompress = require('imagemin-jpeg-recompress');
  11. var pngquant = require('pngquant');
  12. var cache = require('gulp-cache');
  13. var htmlmin = require('gulp-htmlmin');
  14.  
  15.  
  16. gulp.task('sass', function(){
  17. return gulp.src(['app/scss/*.scss'])
  18. .pipe(sass().on('error', sass.logError))
  19. .pipe(autoprefixer(['last 15 versions', '> 1%', 'ie 8', 'ie 7'], { cascade: true }))
  20. .pipe(cssnano())
  21. .pipe(rename({suffix: '.min'}))
  22. .pipe(gulp.dest('dist/css'))
  23. .pipe(browserSync.reload({stream:true}))
  24. });
  25.  
  26. gulp.task('images', function(){
  27. return gulp.src('app/images/**/*.+(png|jpg|svg)')
  28. .pipe(cache(imagemin([
  29. imagemin.gifsicle({interlaced: true}),
  30. imagemin.jpegtran({progressive: true}),
  31. imageminJpegRecompress({
  32. loops: 5,
  33. min: 65,
  34. max: 70,
  35. quality:'medium'
  36. }),
  37. imagemin.svgo(),
  38. imagemin.optipng({optimizationLevel: 3}),
  39. pngquant({quality: '65-70', speed: 5})
  40. ],{
  41. verbose: true
  42. })))
  43. .pipe(gulp.dest('dist/images'))
  44. });
  45.  
  46. gulp.task('fonts', function(){
  47. return gulp.src('app/fonts/**/*')
  48. .pipe(gulp.dest('dist/fonts'))
  49. });
  50.  
  51. gulp.task('js', function(){
  52. return gulp.src([
  53. 'node_modules/jquery/dist/jquery.min.js',
  54. 'app/js/app.js'
  55. ])
  56. .pipe(concat('app.js'))
  57. .pipe(uglify())
  58. .pipe(gulp.dest('dist/js'))
  59. });
  60.  
  61. gulp.task('html', function() {
  62. return gulp.src('app/*.html')
  63. .pipe(htmlmin({collapseWhitespace: true}))
  64. .pipe(gulp.dest('dist/'))
  65. .pipe(browserSync.reload({stream:true}))
  66. });
  67.  
  68. gulp.task('browserSync', function(){
  69. browserSync({
  70. server: {
  71. baseDir: 'dist'
  72. },
  73. })
  74. });
  75.  
  76. gulp.task('watch', ['browserSync', 'sass', 'images', 'fonts', 'js', 'html'], function(){
  77. gulp.watch('app/scss/**/*.scss', ['sass']);
  78. gulp.watch('app/js/*.js', ['js']);
  79. gulp.watch('app/*.html', ['html']);
  80. gulp.watch('app/images/', ['images']);
  81. });
  82.  
  83. gulp.task('run', ['sass', 'images', 'fonts', 'js', 'html'])
Add Comment
Please, Sign In to add comment