gulp.spritesmith中的路径有什么问题?

问题描述 投票:1回答:1

我使用gulp.spritesmith制作精灵图像。我将sprite.sass导入main.sass,它似乎正在工作,除了图像路径有问题。我知道这可能是一个愚蠢的错误,但我无法弄清楚它是什么,所以如果你能帮助我,我真的很高兴。这是我的gulpfile片段

   gulp.task('sprite', function () {
  var spriteData = gulp.src('assets/img/icons/*.png').pipe(spritesmith({
    imgName: 'sprite.png',
    cssName: 'sprite.sass',
    imgPath: './assets/img/sprite.png' 
  }));
  spriteData.css.pipe(gulp.dest('./assets/sass/1-tools')); 
});

我包括图像

.services-item
    &-design
        @include sprite($heart-services)

这些是它在浏览器中的工作方式。

enter image description here

这是我的项目结构

enter image description here

gulp
1个回答
0
投票

已经快2年了。希望你已经解决了。 AFAIK,在spritesmith的这些选项中,** imgPath **是相对于css文件的请求路径,而不是SASS / images源的项目结构。

假设您的精灵图像引用的css文件位于./assets/sass/文件夹中,并且您的图像位于./assets/img/中。在这种情况下,您可以尝试将imgPath选项更改为:

imgPath: '../img/sprite.png' //use .. back to assets folder, then go down to img folder

© www.soinside.com 2019 - 2024. All rights reserved.