【发布时间】:2015-02-28 05:54:02
【问题描述】:
目前我有一个导入另一个手写笔文件的手写笔文件。第二个文件使用这样的 URL 函数,我希望它被内联(例如到一个 base 64 data-url)。但是,当通过我的 gulp 管道运行时,这不起作用
lines.styl:
vertical-img = 'vertical.svg';
@import "../tree";
tree.styl
background-image: url(vertical-img)
我想要得到的结果是:
background-image: url('data:image/svg+xml;utf8,<svg>[...]</svg>');
但我明白了:
background-image: url("vertical.svg")
而我的 gulpfile 如下:
return gulp.src('src/css/*/*.styl')
.pipe(gstylus({
set: ['resolve url']
}))
.pipe(rename(function (file) {
file.dirname = "";
file.extname = ".css";
}))
.pipe(gulp.dest(DEST))
基本上,'resolve url' 选项似乎没有传递给手写笔。我知道我需要它,因为它在Stylus Docs 中说:
默认情况下,Stylus 不会解析导入的 .styl 文件中的 url,所以如果你碰巧有一个带有 @import "bar/bar.styl" 的 foo.styl ,它会有 url("baz.png" ),在生成的 CSS 中也是 url("baz.png")。
但您可以通过使用 --resolve-url(或仅 -r)CLI 选项来更改此行为,以在生成的 CSS 中获取 url("bar/baz.png")。
【问题讨论】: