gulpfile.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. const path = require('path')
  2. const gulp = require('gulp')
  3. const cleanCSS = require('gulp-clean-css');
  4. const cssWrap = require('gulp-css-wrap');
  5. const rename = require('gulp-rename');
  6. const themes = [
  7. // 默认是紫色,皮肤id需要和主题中皮肤目录相同对应
  8. { id: 'default', color: '#255DDB', name: '蓝色(默认)', checked: true },
  9. { id: 'blue', color: '#297EFF', name: '浅蓝' },
  10. { id: 'black', color: '#1F2329', name: '黑色' },
  11. { id: 'white', color: '#E1E6F5', name: '白色' },
  12. ];
  13. const tasks = [];
  14. themes.forEach(item => {
  15. const taskName = `css-wrap-${item.id}`
  16. gulp.task(taskName, function () {
  17. return gulp.src(path.resolve(`./src/assets/${item.id}/main.css`))
  18. .pipe(cssWrap({ selector: `.${item.id}` }))
  19. .pipe(cleanCSS())
  20. .pipe(rename({
  21. basename: 'dist', // 文件名
  22. suffix: '.min', // 文件名后缀
  23. extname: '.css' // 文件扩展名
  24. }))
  25. .pipe(gulp.dest(`./src/assets/${item.id}`));
  26. });
  27. tasks.push(taskName);
  28. })
  29. console.log('当前处理皮肤任务列表', tasks);
  30. if (tasks.length > 0) {
  31. gulp.task('default', gulp.series(tasks, done => {
  32. console.log('任务完成');
  33. done()
  34. }));
  35. } else {
  36. console.warning('没有要处理的任务');
  37. }