gulpfile.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /* eslint no-console: ["error", { allow: ["log"] }] */
  2. const gulp = require('gulp');
  3. const connect = require('gulp-connect');
  4. const gopen = require('gulp-open');
  5. const fs = require('fs');
  6. const path = require('path');
  7. const buildJs = require('./build-js.js');
  8. const buildStyles = require('./build-styles.js');
  9. // Tasks
  10. gulp.task('playground', (cb) => {
  11. const env = process.env.NODE_ENV || 'development';
  12. let content = fs.readFileSync(path.resolve(__dirname, '../playground/index.html'), 'utf8');
  13. if (env === 'development') {
  14. content = content
  15. .replace('../package/css/swiper.min.css', '../build/css/swiper.css')
  16. .replace('../package/js/swiper.min.js', '../build/js/swiper.js');
  17. } else {
  18. content = content
  19. .replace('../build/css/swiper.css', '../package/css/swiper.min.css')
  20. .replace('../build/js/swiper.js', '../package/js/swiper.min.js');
  21. }
  22. fs.writeFileSync(path.resolve(__dirname, '../playground/index.html'), content);
  23. if (cb) cb();
  24. });
  25. gulp.task('js', (cb) => {
  26. buildJs(cb);
  27. });
  28. gulp.task('styles', (cb) => {
  29. buildStyles(cb);
  30. });
  31. gulp.task('build', gulp.series(['js', 'styles']));
  32. gulp.task('watch', () => {
  33. gulp.watch('./src/**/**/*.js', gulp.series('js'));
  34. gulp.watch('./src/**/**/*.less', gulp.series('styles'));
  35. });
  36. gulp.task('connect', () => {
  37. connect.server({
  38. root: ['./'],
  39. livereload: true,
  40. port: '3000',
  41. });
  42. });
  43. gulp.task('open', () => {
  44. gulp.src('./playground/index.html').pipe(gopen({ uri: 'http://localhost:3000/playground/' }));
  45. });
  46. gulp.task('server', gulp.parallel(['watch', 'connect', 'open']));
  47. gulp.task('default', gulp.series('server'));