Я прочитал this учебник для работы с Less
в Asp.Net MVC5.less.modifyVars не работает в Asp.Net MVC
Чтобы интегрировать LESS в ASP.NET MVC, я загружаю и устанавливаю пакет NuGet dotless.
А потом добавили эту связку:
var lessBundle = new Bundle("~/Less").Include("~/Content/Less/*.less");
lessBundle.Transforms.Add(new LessTransform());
lessBundle.Transforms.Add(new CssMinify());
bundles.Add(lessBundle);
Вот является LessTransform
:
public class LessTransform : IBundleTransform
{
public void Process(BundleContext context, BundleResponse response)
{
response.Content = dotless.Core.Less.Parse(response.Content);
response.ContentType = "text/css";
}
}
До сих пор так хорошо. Все работает так, как ожидается.
Вот часть из моего .less
файла:
@CustomMessageBackgroundColor: #65B6A7;
div.custom-dialog {
...
background: @CustomMessageBackgroundColor;
}
Теперь я хочу, чтобы изменить значение этой переменной из .js
файла динамически:
less.modifyVars({ '@CustomMessageBackgroundColor': 'blue' });
less.refreshStyles();
Но это не работает. Я прочитал все вопросы, и, насколько я понимаю, это должно сработать.
Спасибо.
Спасибо за ответ. Поэтому я должен использовать 'Less.js' вместо' dotless'? Честно говоря, я хочу использовать тему ui, основанную на выборе пользователя. Итак, я решил использовать Less. –
* Must * - сильное слово. Dotless поддерживает динамические переменные через параметры строки запроса, но тогда объединение становится немного проблематичным. Все зависит от того, что вам действительно нужно выполнить, но может быть, что less.js - ваш лучший выбор здесь. :) – Rytmis
Я havemade другое исследование. И обнаружил, что веб-Essentials уже поддерживает .less-файлы. Но, я не знаю, как я могу кодировать переменные из javascript? Есть ли у вас практика с этим? –