无法错误地导入带有URL的文件

Ken*_*ins 5 css url import less

似乎LESS的URL导入策略没有考虑与CSS相同的相对路径.

test.less

@import "sub/test.less";
div.a {
    background-image:url('imagea.jpg');
}
Run Code Online (Sandbox Code Playgroud)

sub/test.less

div.b {
    background-image:url('imageb.jpg');
}
Run Code Online (Sandbox Code Playgroud)

output.css

div.b {
    background-image:url('imageb.jpg');
}
div.a {
    background-image:url('imagea.jpg');
}
Run Code Online (Sandbox Code Playgroud)

correct_output.css

div.b {
    background-image:url('sub/imageb.jpg');
}
div.a {
    background-image:url('imagea.jpg');
}
Run Code Online (Sandbox Code Playgroud)

有没有办法从LessJS获取此行为或这是实现中的错误?

Ara*_*yan 4

这似乎已经在这里修复了。正如用法详细介绍的,以下是如何应用修复程序:

<script type="text/javascript">
    less = {
        relativeUrls: true
    };
</script>
<script src="less.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

令人担忧的是 LESS 还没有这样做。您可能会认为从 CSS 到 LESS 的向后兼容性(有效的 CSS 应该是有效的 LESS)至关重要。