7

是否可以将 Razor View Engine (ASP.NET MVC) 与 .LESS(类似于 SASS - http://lesscss.org/ for .NET)一起使用,因为它们都使用“@blah”?

我想要实现的是创建.LESS css 文件,与 Razor 混合。

更新:

抱歉有点不具体。我想要做的是在 .less (dotlesscss) css 文件中使用 Razor View Engine。这会很好,例如将站点设置(如从管理员定制的主题)传递到 css 文件中。

问题是语法会崩溃。

另一种方法是使用 C# 或其他一些视图引擎。

4

3 回答 3

23

您应该考虑使用 Justin Etheredge 的 SquishIt 库。它不仅包含 dotlesscss 库,它还可以轻松组合和缩小您的 CSS 和 Javascript!

这是我如何在 Razor 中使用 SquishIt 的示例。

下面的代码会将所有引用的 CSS 文件合并、缩小和 LESSify 到一个 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 所做的所有事情(以及更多)。

于 2010-11-19T20:24:03.553 回答
3

LESS 和 Razor 引擎无关。

如果您对使用 LESS 感兴趣,请查看 dotlesscss。查看它的Git 存储库wiki。出于某种原因,它的主要网站自 8 月以来就关闭了,他们还没有恢复它。

于 2010-11-02T19:00:34.977 回答
2

.NET 4.5 和 MVC 4 现在开箱即用

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

于 2012-09-26T18:10:28.477 回答