Can I use a Gulp task with multiple sources and multiple destinations?

前端 未结 9 1343
遇见更好的自我
遇见更好的自我 2020-12-02 14:19

I have the following in my gulpfile.js:

   var sass_paths = [
        \'./httpdocs-site1/media/sass/**/*.scss\',
        \'./httpdocs-site2/media/sass/**/*         


        
9条回答
  •  一生所求
    2020-12-02 15:09

    I had success without needing anything extra, a solution very similar to Anwar Nairi's

    const p = {
      dashboard: {
        css: {
          orig: ['public/dashboard/scss/style.scss', 'public/dashboard/styles/*.css'],
          dest: 'public/dashboard/css/',
        },
      },
      public: {
        css: {
          orig: ['public/styles/custom.scss', 'public/styles/*.css'],
          dest: 'public/css/',
        },
        js: {
          orig: ['public/javascript/*.js'],
          dest: 'public/js/',
        },
      },
    };
    
    gulp.task('default', function(done) {
      Object.keys(p).forEach(val => {
        // 'val' will go two rounds, as 'dashboard' and as 'public'
        return gulp
          .src(p[val].css.orig)
          .pipe(sourcemaps.init())
          .pipe(sass())
          .pipe(autoPrefixer())
          .pipe(cssComb())
          .pipe(cmq({ log: true }))
          .pipe(concat('main.css'))
          .pipe(cleanCss())
          .pipe(sourcemaps.write())
          .pipe(gulp.dest(p[val].css.dest))
          .pipe(reload({ stream: true }));
      });
      done(); // <-- to avoid async problems using gulp 4
    });
    

提交回复
热议问题