我有以下的文档结构
└── Content
├── Images
│ ├── document.png
│ └── document2.png
└── Css
├── Controls
│ └── Document.less
└── Main.less
内容/Css/Main.less: @import "Controls/document.less";
内容/Css/控制/Document.less:
.Document
{
.Image
{
background-image: url(../../Images/document.png);
}
.Image2
{
background-image: url('../../Images/document2.png');
}
}
如果我用下面的gulp脚本运行
var gulp = require('gulp'),
less = require('gulp-less');
gulp.task('css', function () {
var source = 'Content/Css/Main.less';
var destination = 'Content/Css';
// place code for your default task here
gulp.src(source)
.pipe(less())
.pipe(gulp.dest(destination));
});
我得到以下
.Document .Image {
background-image: url(../../Images/document.png);
}
.Document .Image2 {
background-image: url('../../Images/document2.png');
}
但是如果我用无点运行这个,我得到
.Document .Image {
background-image:url(../Images/document.png)
}
.Document .Image2 {
background-image:url('../Images/document2.png')
}
是否有任何方法可以在不改变less代码结构的情况下使用Gulp获得相同的输出(注意:这只是一个例子,在现实中我有多个文件夹和less文件..)。
我找到了一个解决方案,将{ relativeUrls: true }
添加到less()
,它可以作为意图。