如何在编译的LESS css文件中获得正确的相对路径?

Jo *_*gue 11 css less

我遇到了LESS在我编译的文件中破坏相对URL的问题.例如,我有;

??? style.less
??? style.css
??? assets
?   ??? img
?   ?   ???  bg.png
?   ??? less
?   ?   ???  included.less
Run Code Online (Sandbox Code Playgroud)

Style.less进口included.less具有以下行;

body {background: url(../img/wall-texture.png);}
Run Code Online (Sandbox Code Playgroud)

但是style.css的输出变成了

body {background: url(assets/less/assets/less/../img/wall-texture.png);}
Run Code Online (Sandbox Code Playgroud)

这里发生了什么,我怎样才能解决这个问题,以便在编译后我的路径保持正确?我意识到也许我的相对路径在included.less中需要进行调整,这很好,但是目前,在"资产/更少"加倍的情况下,它使得在保持合理的文件夹结构的同时获得正确的路径变得非常复杂.除了我使用git子模块包含不同的LESS项目,所以我真的不想更改较少文件或文件夹结构中的代码,我只想强迫LESS正确编译.(我已经尝试了所有可以找到的Windows编译器,它们的行为都相同.)

任何帮助非常感谢!

Pat*_*mer 1

看看https://github.com/marklagendijk/WinLess/issues/12 它似乎与您正在使用的版本(1.5.3)完全相关。我建议更新到最新的 winless 版本,即 1.8.0。

在无胜之路上,相对路径存在一些问题。但其中大多数似乎已经修复。另请参阅https://github.com/marklagendijk/WinLess/issues/search?q=path

请注意,less 编译器的默认行为实际上是保留您所期望的相对路径。