咕嘟咕嘟的文件夹

问题描述:

这是IMG路径结构咕嘟咕嘟的文件夹

img 
|-sprites 
    |- sprite 1 folder 
    |- sprite 2 folder 

我需要做什么精灵 - {文件夹名称} .scss。 SCSS放入SCSS src文件夹中,png放入build img sprite文件夹。

也许有人有这样的任务已经完成? 目前我尝试使用gulp-sprite-generator + gulp-folders插件。 如果您推荐,可以切换到其他插件。

这样的任务完成:

gulp.task(
    'sprites', folders(path.src.sprites, function (folder) { 
     // Generate our spritesheet 
     var spriteData = gulp.src(npmpath.join(path.src.sprites, folder, '*.png')) 
      .pipe(spritesmith({ 
       imgName: 'sprite_' + folder + '.png', 
       cssName: 'sprite_' + folder + '.scss' 
      })); 

     // Pipe image stream through image optimizer and onto disk 
     var imgStream = spriteData.img 
      .pipe(imagemin({ 
       progressive: true, 
       interlaced: true, 
       optimizationLevel: 7, 
       svgoPlugins: [{removeViewBox: false}, {removeUselessStrokeAndFill: false}], 
       use: [pngquant({quality: '65-80', speed: 4})] 
      })) 
      .pipe(gulp.dest(path.build.sprites)) 
      .pipe(notify({message: 'SPRITE IMG task complete', onLast: true})); 
     // Pipe CSS stream through CSS optimizer and onto disk 
     var cssStream = spriteData.css 
      .pipe(gulp.dest(path.src.sassFolder + 'module/sprites')) 
      .pipe(notify({message: 'SPRITE SCSS task complete', onLast: true})); 

     // Return a merged stream to handle both `end` events 
     return merge(imgStream, cssStream); 

})); 

插件:路径,gulp.spritesmith,合并流,imagemin,imagemin-pngquant