【发布时间】:2015-08-01 19:01:38
【问题描述】:
我需要更改精灵文件编译到的目录。
我只是第一次尝试绕过gulp-svg-sprite。目标是将scss 文件包含在我的sass 目录中,然后与我的其余部分一起编译——这部分工作正常。但是生成的svg目录也放到sass目录下,所以我最终得到:
- theme
-- sass
---- _sprites.scss
---- svg
------ sprite.css-58jkdf8js.svg
-- css
---- styles.css
当我真正需要这个时:
- theme
-- sass
---- _sprites.scss
-- css
---- styles.css
---- svg
------ sprite.css-58jkdf8js.svg
当然,编译样式表有background: url(svg/sprite.css-58adlksjf.svg);
如何让 sprite 目录在 /css 而不是 /sass 下编译?
这是gulpfile.js的相关部分:
gulp.task('svg', function() {
config = {
mode : {
css : { // Activate the «css» mode
render : {
scss : true // Activate CSS output (with default options)
},
dest : './',
cssFile : "_sprite.scss"
},
symbol : {
dest : '../css/'
}
}
};
gulp.src('src/svg/*.svg')
.pipe(svgSprite(config))
.pipe(gulp.dest('sass'));
})
我只在symbol 模式下添加,因为我希望我可以在那里制作另一个副本,但它只是将其存储为sprite.symbol.svg,这不是 CSS 所引用的。
我在想另一种方法是忘记 sass 的 svg 内容,将其编译为 /css,然后包含另一个样式表。但是,这意味着我必须将它包含在 主样式表之前(现在看起来还可以,但我还没有考虑到那部分)。
谢谢!
【问题讨论】: