Less, @include и неправильные url

Раньше у меня был большой файл styles.less и приблизительно такая структура:
project/
|- im/
|  |- image-1.jpg
|  |- image-2.png
|  
|- js/
|  |- js-file-1.js
|  |- js-file-2.js
|  
|- styles.css
|- styles.less


При помощи SimpLESS 1.4 файл styles.less компилировался в styles.css и всё было прекрасно.
Дело в том, что проект располагается на различных хостингах и зависимо от настроек файлы статики могут быть или в подпапке или в отдельном CDN. Потом пути к картикам указывались относительно less-файла внутри:

div {
  background: url('background.png');
}


Теперь файл стал слишком большой и я хочу разбить его на подфайлы:

project/
|- im/
|  |- image-1.jpg
|  |- image-2.png
|  
|- js/
|  |- js-file-1.js
|  |- js-file-2.js
|  
|- less/
|  |- lib.less
|  |- foo.less
|  |- bar.less
|  
|- styles.css
|- styles.less


Содержимое styles.less:
@import "less/lib";
@import "less/foo";
@import "less/bar";


В итоге такой код, который находится в файле less/foo.less:
div {
  background: url('background.png');
}


Компилируется в следующий бред:
div {
  background: url('less/less/background.png');
}


Есть ли корректный способ обойти это поведение при условии, что внутри less файла я не знаю прямого пути к картинке, только относительный.
  • Вопрос задан
  • 6020 просмотров
Решения вопроса 1
@Makito
А может быть вам проще перенести файл style.less в папку less? Ведь по сути это тоже файл ресурса less, а его перенос никоим образом не сломает верстку.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы