Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. const { series, parallel, src, dest, watch } = require('gulp');
  2. const pug = require('gulp-pug');
  3. const sass = require('gulp-sass');
  4. const cssnano = require('gulp-cssnano');
  5. const gulpif = require('gulp-if');
  6. const autoprefixer = require('gulp-autoprefixer');
  7. const pxtorem = require('gulp-pxtorem');
  8. const browserSync = require('browser-sync');
  9. const babel = require('gulp-babel');
  10. const imagemin = require('gulp-imagemin');
  11.  
  12. const server = browserSync.create();
  13.  
  14. var prod = process.env.NODE_ENV === 'prod';
  15.  
  16. function html() {
  17. return src('src/index.pug')
  18. .pipe(pug())
  19. .pipe(dest('dist'));
  20. }
  21.  
  22. function css() {
  23. return src('src/scss/styles.scss')
  24. .pipe(sass())
  25. .pipe(gulpif(prod, cssnano()))
  26. .pipe(
  27. gulpif(
  28. prod,
  29. autoprefixer({
  30. browsers: ['last 2 versions'],
  31. })
  32. )
  33. )
  34. .pipe(pxtorem({ replace: false }))
  35. .pipe(dest('dist/css'));
  36. }
  37.  
  38. function js() {
  39. return src('src/js/script.js')
  40. .pipe(
  41. babel({
  42. presets: ['@babel/env'],
  43. })
  44. )
  45. .pipe(dest('dist/js'));
  46. }
  47.  
  48. function images() {
  49. return src('src/img/**/*')
  50. .pipe(gulpif(prod, imagemin()))
  51. .pipe(dest('dist/img'));
  52. }
  53.  
  54. function reload(done) {
  55. server.reload();
  56. done();
  57. }
  58.  
  59. function serve(done) {
  60. server.init({
  61. server: {
  62. baseDir: './dist',
  63. },
  64. });
  65. done();
  66. }
  67.  
  68. exports.dev = series(parallel(html, css, js, images), serve, () =>
  69. watch(['src/scss/**/*.scss'], series(parallel(html, css, js, images), reload))
  70. );
  71. exports.build = parallel(html, css, js, images);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement