3 个回答

没用过, 但是我的思路大概是这样

function SpriterGroup(pathArr){
    for(let i = 0; i < pathArr.length; i++){
        gulp.src(pathArr[i]).pipe(spriter({
            'spriteSheet' : './dist/images/spriteSheet_' + i +'.png',
            'pathToSpriteSheetFormCss' : '../images/spriteSheet_' + i + '.png'
        })).pipe(gulp.dest('.dist/css'));)
    }
}
gulp.task('spirter', function(){
    spriterGroup([ 'a.css', 'b.css'])
})

// 你也可以动态的获取目录下的所有css路径, 然后作为实际参数传入spriterGroup

中午睡觉去了。
你这个加载所有的css,那么你这个代码会把你加载的css里的所有图片都合并起来,所以,你的代码应该是这样:

var gulp = require('gulp');
var spriter = require('gulp-css-spriter');

gulp.task('css',function {
    return gulp.src('a.css').pipe(spriter({
        'spriteSheet' : './dist/images/spriteSheet_a.png',
        'pathToSpriteSheetFormCss' : '../images/spriteSheet_a.png'
    })).pipe(gulp.dest('.dist/css'));
});

gulp.task('css',function {
    return gulp.src('b.css').pipe(spriter({
        'spriteSheet' : './dist/images/spriteSheet_b.png',
        'pathToSpriteSheetFormCss' : '../images/spriteSheet_b.png'
    })).pipe(gulp.dest('.dist/css'));
});

此插件如何设置只合并某文件下的图片;
如css中存在如下样式:
background-image:url('./image/a.png');
background-image:url('./image/slice/b.png');
在同一个css文件,如何使合并出来的雪碧图只包含b.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进