Почему я не могу импортировать бездействующие файлы в один файл без значения?

У меня есть эта структура моих файлов:

lib/css/... содержит мои стили, разделенные на отдельные .less файлы для каждого типа области.

lib/style.less - это файл, в который я хочу собрать свои файлы подтипов, - и файл, который я хочу связать в HTML.

Когда я ввожу (в style.less):

@import url("/css/StyleToImport.less");

или

@import "/css/StyleToImport.less";

... Я получаю синтаксическую ошибку.

Неужели невозможно объединить файлы без файлов в один файл?

Было бы очень удобно иметь один единственный файл, содержащий все переменные для цветов, размеров и т.д.

Но, как и сейчас, я должен использовать теги <link ...> в HTML для каждого отдельного файла, что не так удобно.

P.S. Я прочитал Присоединиться к двум бездейственным файлам в один файл css

и я прочитал следующее:

Импорт

Импорт работает в значительной степени как и ожидалось. Вы можете импортировать .less файла, и все переменные в нем будут быть доступным. Если файл отсутствует. расширение необязательно:

@import "library";

@import "typo.css";

Ответы

Ответ 1

Я просто попробовал это в своей локальной среде, поместив vars в vars.less и mixins в conf.less. Структура файла, похожая на вашу, с базовым .less файлом на уровне ниже папки, содержащей все "включает".

Итак, у меня была папка css, у которой был мой main.less файл, а затем css/less/vars.less | conf.less

Чтобы импортировать оба из них:

@import "less/vars.less";
@import "less/conf.less";

Мой единственный ответ - удалить первый / в вашем выражении @import. У меня были подобные проблемы при попытке импортировать шрифт google в мой файл .less.

По крайней мере, сделайте снимок, потому что используется ту же структуру, что и ваша моя.

Ответ 2

У меня была аналогичная проблема, когда импорт, казалось, терпел неудачу. Оказалось, что мой редактор сохранил @импортированные файлы как UTF-8 с BOM, как описано в этом вопросе.

По какой-то причине компилятор LESS неаккуратно отключается в @импортированных файлах, имеющих спецификацию, даже если он вызывает ошибку, если ваш файл root имеет спецификацию.

Попробуйте повторно сохранить ваши @импортированные файлы без спецификации, и это может сработать.

Ответ 3

Я не совсем уверен, что проблема без ошибки.

Я бы предложил использовать lessapp, http://incident57.com/less/, который я нашел, работает очень хорошо и немного проще в использовании. Также будьте осторожны при попытке импортировать пустые файлы, так как это может вызвать ошибку.

Я загрузил некоторый базовый код, который я использую для структурирования своих файлов в зависимости от проекта - вы можете получить их в https://github.com/danethurber/seamLESS. Возможно, это поможет, и если вы или кто-то захотите внести свой вклад, я буду рад за помощь:)

Ответ 4

Когда вы ссылаетесь на каталог /, он выглядит от корня сверху вниз и в этом случае его не найдет. Поэтому @Daniel является правильным, предлагая удалить косую черту.

Вы должны связать это как таковое:

@import url("css/StyleToImport.less");

Это потому, что ваша начальная точка находится внутри самого каталога css, а затем указывается в этом каталоге css/, а затем указывается на сам файл.

Если вам нужно будет сначала открыть каталог, а затем перевернуть и опуститься,

../directory/file.less