gulpfile.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. const gulp = require('gulp'),
  2. useref = require('gulp-useref'),
  3. gulpif = require('gulp-if'),
  4. uglify = require('gulp-uglify'),
  5. sass = require('gulp-sass'),
  6. cleanCSS = require('gulp-clean-css'),
  7. rename = require("gulp-rename"),
  8. concat = require("gulp-concat"),
  9. browserSync = require('browser-sync').create();
  10. gulp.task('copyjs', async function() {
  11. gulp.src('./node_modules/bootstrap/dist/js/bootstrap.js')
  12. .pipe(gulp.dest('./js/'));
  13. gulp.src('./node_modules/jquery/dist/jquery.min.js')
  14. .pipe(gulp.dest('./js/'));
  15. console.log("files 📄 from npm pkgs ");
  16. });
  17. gulp.task('build', async function() {
  18. gulp.src('index.html')
  19. .pipe(useref())
  20. .pipe(gulpif('*.js', uglify()))
  21. .pipe(gulpif('*.css', cleanCSS({level: {1: {specialComments: 0}}})))
  22. .pipe(gulp.dest('./app/'));
  23. console.log("Assets built 🔧 for app/ ");
  24. });
  25. function mixin() {
  26. return gulp.src('./css/_scss/**/*.scss')
  27. .pipe(sass().on('error',sass.logError))
  28. .pipe(gulp.dest('./css/'))
  29. .pipe(browserSync.stream());
  30. }
  31. function run() {
  32. browserSync.init({
  33. server: {
  34. baseDir: "./",
  35. index: "/index.html"
  36. }
  37. });
  38. gulp.watch('./css/_scss/*.scss', mixin);
  39. gulp.watch('./css/**/*.css').on('change', browserSync.reload);
  40. gulp.watch('./*.html').on('change',browserSync.reload);
  41. gulp.watch('./js/**/*.js').on('change', browserSync.reload);
  42. }
  43. exports.mixin = mixin;
  44. exports.run = run;