是否可以将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#或其他一些View Engine.
解决方法
你应该考虑使用Justin Etheredge的SquishIt库.它不仅包括dotlesscss库,它还可以轻松地组合和缩小您的CSS和Javascript!
> Blog post regarding SquishIt
> Source code on GitHub
这是我在Razor中如何使用SquishIt的一个例子.
以下代码将所有引用到一个CSS文件中的CSS文件组合,缩小和LESSify.它将对Javascript文件执行相同的操作.
@H_301_23@@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"))输出看起来像这样:
@H_301_23@<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所做的一切(以及更多).