每次运行我的精灵任务时,都会收到错误 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的图片路径外,一切都有效。
答案 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
中,看起来你会以两个反斜线相邻的方式结束