. МЕНЬШЕ вместе с Razor - PullRequest
       6

. МЕНЬШЕ вместе с Razor

7 голосов
/ 02 ноября 2010

Можно ли использовать Razor View Engine (ASP.NET MVC) вместе с .LESS (аналогично SASS - http://lesscss.org/ для .NET), поскольку они оба используют "@blah"?

Чего я хочу добиться, так это создать файлы .LESS css, смешанные с Razor.

ОБНОВЛЕНО:

Извините, что я немного не определен.То, что я хочу сделать, это использовать Razor View Engine ВНУТРИ файлов .less (dotlesscss) css.Это было бы неплохо для того, чтобы, например, передать настройки сайта, такие как Theme, настроенные от администратора, в файл css.

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

Альтернативой является использование C # или другого View Engine.

Ответы [ 3 ]

23 голосов
/ 19 ноября 2010

Вы должны рассмотреть возможность использования библиотеки SquishIt Джастина Этереджа. Он не только включает библиотеку dotlesscss, но и с легкостью объединяет и минимизирует ваши CSS и Javascript!

Вот пример того, как я использую SquishIt в Razor.

Следующий код объединяет, минимизирует и LESSify все CSS-файлы, на которые есть ссылки в одном CSS-файле. Это будет делать то же самое с файлами Javascript.

@MvcHtmlString.Create(
  SquishIt.Framework.Bundle.Css()
    .Add("~/media/css/reset.css")
    .Add("~/media/css/style.less")
    .Add("~/media/css/handheld.css")
    .Render("~/media/css/combined_#.css"))

@MvcHtmlString.Create(
  SquishIt.Framework.Bundle.JavaScript()
    .Add("~/media/js/geo.js")
    .Add("~/media/js/jquery-1.4.4.js")
    .Add("~/media/js/jquery.unobtrusive-ajax.js")
    .Add("~/media/js/jquery.validate.js")
    .Add("~/media/js/jquery.validate.unobtrusive.js")
    .Render("~/media/js/combined_#.js"))

Вывод выглядит так:

<link rel="stylesheet" type="text/css" href="/media/css/combined_312454.css" />
<script type="text/javascript" href="/media/js/combined_312454.js"></script>

ОБНОВЛЕНИЕ (более 1 года спустя) ...
Еще один проект, на который вы, возможно, захотите взглянуть - это Cassette , который в значительной степени делает все, что делает SquishIt (и даже больше).

3 голосов
/ 02 ноября 2010

LESS и движок Razor не связаны.

Если вы заинтересованы в использовании LESS, ознакомьтесь с dotlesscss.Смотрите его Git репозиторий и wiki .По какой-то причине его основной веб-сайт не работает с августа, и они не восстановили его.

2 голосов
/ 26 сентября 2012

.NET 4.5 и MVC 4 теперь имеют это из коробки

http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification

...