我正在尝试定义一个函数,该函数将在我的所有.style文件中可用。例如,我可以写:
body
background-image STATIC('/dist/assets/myImage.jpg')
应该输出
body {
background-image: url('//localhost:3000/dist/assets/myImage.jpg')
}
在我的吞咽任务
gulp.task('stylus', function() {
// host is defined in our config settings
// i.e. for develpoment it will be "localhost:3000"
var host = require('../../config').host;
return gulp.src('src/main.styl')
.pipe(stylus({
define: {
STATIC: function(file) {
return 'url("//' + host + file.val + '")';
}
}
}))
.pipe(gulp.dest('build/dist/css'));
});
但是,当我运行gulp stylus
时,会引用整个输出。如何返回没有第一个和最后一个单引号的完整路径?
body {
background-image: 'url("//localhost:3000/dist/assets/myImage.jpg")';
}
要在所有styl文件中使用相同的函数,Stylus函数将更合适。您可以将手写笔中的功能定义为:
bodyCustomBg()
body
background-color white
并将函数用作:
bodyCustomBg()
您也可以在函数中传递参数。它将在您将要导入或需要包含函数的.style文件的文件中可用。