0

gul-svg-sprite 1.2.19

我在传递给 gulp-svg-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 的值,或者将“dest”设置作为同级添加到“mode”,但这没有区别。基本上,无论我写什么,文件总是保存在同一个位置。我认为我的设置被忽略了。例如,如果我将 sprite:"mysprite.svg" 添加到模式设置中,该文件仍会在同一位置保存为“sprite.defs.svg”。

会发生什么?

4

1 回答 1

0

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

基本上我的错误是我试图在对象兄弟中配置目标defs,而不是在defs对象本身中配置目标。出于我的目的,正确的配置对象应更改为:

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

至:

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

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

于 2016-05-16T01:50:09.550 回答