Spritesmith gulp.dest路径问题

时间:2017-10-01 14:23:26

标签: gulp gulp-spritesmith

每次运行我的精灵任务时,都会收到错误 EPERM:操作不被允许,mkdir' C:\ Users \ images' 。我希望图像路径是相对的。

当scss文件在其父(src)文件夹中正确保存时,我不明白为什么我的新spritesheet的目标指向我的Users目录。此外,scss正确构建并在/ sprites中读取我的png文件。

我的文件夹结构:

  /
  src/
    node_modules/
    sprites/
    _sprites.scss
    gulpfile.js
  www/
    images/

Gulp任务:

var spritesmith = require('gulp.spritesmith');
gulp.task('sprite', function () {
    var spriteData = gulp.src('./sprites/*.png')
        .pipe(spritesmith({
            imgName: '/images/sprite.png',
            cssName: '_sprites.scss'
        }));
    spriteData.img.pipe(gulp.dest('./../www/images/'));
    spriteData.css.pipe(gulp.dest('./'));
});

正如我所说的,除了新的sprite.png的图片路径外,一切都有效。

1 个答案:

答案 0 :(得分:1)

我会简化这个:

imgName: '/images/sprite.png',

imgName: 'images/sprite.png',

并修改

spriteData.img.pipe(gulp.dest('./../www/images/'));

spriteData.img.pipe(gulp.dest('./../www/images'));

在www / images // sprite.png

中,看起来你会以两个反斜线相邻的方式结束