11

コンパイルされたファイルの相対URLを壊さないという問題があります。たとえば、私は持っています。

├── style.less
├── style.css
├── assets
│   ├── img
│   │   └──  bg.png
│   ├── less
│   │   └──  included.less

Style.lessはincluded.lessをインポートします。これには次の行があります。

body {background: url(../img/wall-texture.png);}

しかし、style.cssの出力は次のようになります

body {background: url(assets/less/assets/less/../img/wall-texture.png);}

ここで何が起こっているのでしょうか。コンパイル後もパスが正しいままになるように、これを修正するにはどうすればよいですか。include.lessの相対パスを調整する必要があることはわかっていますが、それは問題ありませんが、現在、「アセット/少ない」を2倍にすることで、適切なフォルダー構造を維持しながら正しいパスを取得することが非常に複雑になっています。それに加えて、gitサブモジュールを使用してさまざまなLESSプロジェクトを含めているので、lessファイルのコードやフォルダー構造を変更したくないので、LESSを強制的に正しくコンパイルしたいと思います。(私は見つけたすべてのWindowsコンパイラを試しましたが、それらはすべて同じように動作します。)

どんな助けでも大歓迎です!

4

2 に答える 2

2

コンパイルを解決する解決策があるかもしれません。そうでない場合、考えられる解決策の1つ(LESSファイルを変更する必要があります)は、パスを補間することですそうすれば、コンパイラーは、追加する限り、それをそのままにしておくことができます。

body {background: url(~"../img/wall-texture.png");}
于 2013-01-28T13:37:48.447 に答える
1

https://github.com/marklagendijk/WinLess/issues/12をご覧ください 。使用しているバージョン(1.5.3)と正確に関連しているようです。すでに1.8.0である最新のwinlessビルドに更新することをお勧めします。

勝利の道に沿った相対的な道にはいくつかの問題がありました。しかし、それらのほとんどは修正されているようです。https://github.com/marklagendijk/WinLess/issues/search?q=pathも参照してください

lessコンパイラのデフォルトの動作は、予想どおりに相対パスを保持するために実際に行われることに注意してください。

于 2013-01-29T08:21:09.717 に答える