stylus.url() base64编码woff2字体
stylus.url() base64 encodes woff2 font
我使用 Stylus 编写 CSS 和 stylus.url()
方法对所有图像进行 base64 编码。我的问题是手写笔也会对其中一种字体进行编码。它只是一种正在编码的 woff2 字体。所有其他的都保留为 URL。
如何在使用 stylus.url()
方法时忽略字体文件或以其他方式防止它被 base64 编码。
font.styl:
@font-face {
font-family: 'GillSansMTStd';
src: url('../fonts/2D770A_6_0.eot');
src: local('☺︎'),
url('../fonts/2D770A_6_0.woff2') format('woff2'),
url('../fonts/2D770A_6_0.woff') format('woff'),
url('../fonts/2D770A_6_0.ttf') format('truetype');
}
main.css:
@font-face {
font-family: 'GillSansMTStd';
src: url("../fonts/2D770A_6_0.eot");
src: local('☺︎'),
url("data:application/font-woff2;base64,d09GMgABA[...]") format('woff2'),
url('../fonts/2D770A_6_0.woff') format('woff'),
url('../fonts/2D770A_6_0.ttf') format('truetype');
}
通读 stylus.url()
的源代码,我找到了 mimes
选项。我没有在任何地方找到记录。我可以通过设置该选项来设置我想要 base64 编码的 mime 类型:
stylus(str)
.set('filename', __dirname + '/css/test.styl')
.define('url', stylus.url({
mimes: {
'.gif': 'image/gif',
'.png': 'image/png',
'.jpg': 'image/jpeg',
'.jpeg': 'image/jpeg',
'.svg': 'image/svg+xml'
}
}))
.render(function(err, css){
});
我发现没有 paths
选项就没有效果
stylus(stylus_str)
.use(autoprefixer())
.define('url', stylus.url({
limit: 30000,
mimes: {
'.gif': 'image/gif',
'.png': 'image/png',
'.jpg': 'image/jpeg',
'.jpeg': 'image/jpeg',
'.svg': 'image/svg+xml'
},
paths: [dirname(file_path)]
}))
.render((err, output)=>{
console.log(output.yellow)
})
我使用 Stylus 编写 CSS 和 stylus.url()
方法对所有图像进行 base64 编码。我的问题是手写笔也会对其中一种字体进行编码。它只是一种正在编码的 woff2 字体。所有其他的都保留为 URL。
如何在使用 stylus.url()
方法时忽略字体文件或以其他方式防止它被 base64 编码。
font.styl:
@font-face {
font-family: 'GillSansMTStd';
src: url('../fonts/2D770A_6_0.eot');
src: local('☺︎'),
url('../fonts/2D770A_6_0.woff2') format('woff2'),
url('../fonts/2D770A_6_0.woff') format('woff'),
url('../fonts/2D770A_6_0.ttf') format('truetype');
}
main.css:
@font-face {
font-family: 'GillSansMTStd';
src: url("../fonts/2D770A_6_0.eot");
src: local('☺︎'),
url("data:application/font-woff2;base64,d09GMgABA[...]") format('woff2'),
url('../fonts/2D770A_6_0.woff') format('woff'),
url('../fonts/2D770A_6_0.ttf') format('truetype');
}
通读 stylus.url()
的源代码,我找到了 mimes
选项。我没有在任何地方找到记录。我可以通过设置该选项来设置我想要 base64 编码的 mime 类型:
stylus(str)
.set('filename', __dirname + '/css/test.styl')
.define('url', stylus.url({
mimes: {
'.gif': 'image/gif',
'.png': 'image/png',
'.jpg': 'image/jpeg',
'.jpeg': 'image/jpeg',
'.svg': 'image/svg+xml'
}
}))
.render(function(err, css){
});
我发现没有 paths
选项就没有效果
stylus(stylus_str)
.use(autoprefixer())
.define('url', stylus.url({
limit: 30000,
mimes: {
'.gif': 'image/gif',
'.png': 'image/png',
'.jpg': 'image/jpeg',
'.jpeg': 'image/jpeg',
'.svg': 'image/svg+xml'
},
paths: [dirname(file_path)]
}))
.render((err, output)=>{
console.log(output.yellow)
})