如何为此目的地配置gulp-svg精灵



gul svg sprite 1.2.19

我在配置对象上遇到了很多麻烦,这个配置对象被传递给gullowsvg-sprite来确定创建的文件的目的地。我已经阅读了关于输出目的地的文档部分,并阅读了关于此事的其他StackOverflow板。

这是Gulp任务:

gulp.task('build-icons',function(){
    return gulp.src(assetsDev+'icons/*.svg')
        .pipe(svgSprite({
            mode: {defs:true, dest:'.'},
        }))
        .pipe(gulp.dest('icons'));
});

这就是我希望得到的:

icons
---sprite.defs.svg

相反,我得到的是:

icons
---defs
------svg
---------sprite.defs.svg

我试着更改mode.dest的值,或者在"mode"中添加一个"dest"设置作为同级设置,但没有什么区别。基本上,无论我写什么,文件总是保存在同一个位置。我觉得我的设定被忽略了。例如,如果我将sprite:"mysprite.svg"添加到模式设置中,该文件仍然保存为"sprite.defs.svg"在同一位置。

可能发生了什么?

解决方案发布在https://github.com/jkphl/svg-sprite/issues/155

基本上,我的错误是,我试图在defs的对象同级中配置目的地,而不是在defs对象本身中配置目标。为了我的目的,正确的配置对象应该从更改

mode: {defs:true, dest:'.'}

至:

mode: {defs:{dest:'.'}}

生成的文件现在按照我的意愿保存在icons文件夹中。

最新更新