Получить или установить переменную LESS из JavaScript?

При тестировании моего веб-приложения я хотел бы иметь возможность установить значение одной из моих LESS @variables с помощью простого раскрывающегося списка. (Чтобы полностью изменить цветовую схему).

Я предполагаю, что после установки значения LESS должен перезагрузить/перекомпилировать файлы .less с новым значением?

Есть ли простой способ сделать это? (я не использую node.js)

Базовый пример будет примерно таким:

styles.less
@base-color = `window.baseColor()`

person dani    schedule 28.11.2011    source источник
comment
Что вы имеете в виду, вы не используете node.js? Ваш LESS-файл скомпилирован в CSS на стороне сервера?   -  person yunzen    schedule 28.11.2011
comment
Нет, я просто включаю это так: ‹link rel=stylesheet/less type=text/css href=styles.less› ‹script src=less.js type=text/javascript›‹/script›   -  person dani    schedule 29.11.2011


Ответы (1)


Я думаю, что вы делаете это слишком сложным способом;)

Вот что я предлагаю:

  1. Установите класс для тега body:

    <body class='theme_default'></body>
    
  2. В вашем файле .less определите ваши темы:

    body.theme_default { base_color: #fff; }
    body.theme_gray    { base_color: #ccc; }
    etc..
    
  3. Используя jQuery (или просто JS), измените класс тега body при изменении состояния раскрывающегося списка.

Вот как я бы это сделал (и заменил раскрывающийся список каким-нибудь хорошим виджетом;) Ура

person bzx    schedule 30.11.2011
comment
Ааа, это звучит гораздо разумнее :) - person dani; 30.11.2011