Lesscss和ASP.NET MVC

时间:2012-05-28 05:12:22

标签: asp.net-mvc asp.net-mvc-4 less

由于我的网站从ASP.NET WebPages切换到MVC4,我在使用Lesscss时遇到了麻烦。

CSS + Javascript行:

<link href="@Url.Content("~/Content/site.css")" rel="stylesheet/less" type="text/css" />
<script src="@Url.Content("~/Scripts/less-1.3.0.min.js")" type="text/javascript"></script>

我不知道出了什么问题。路径是正确的。当你从CSS链接中删除'/ less'以正常使用它时,样式表就可以工作。尝试使用Lesscss JS文件时,它加载正常,但没有加载sylesheet。 IE中的F12开发工具也确认没有加载样式表。

使用Lesscss和MVC4时是否还有其他人遇到类似问题?

2 个答案:

答案 0 :(得分:24)

在我看来,更好地设置它的一个简单方法是使用nuget。你不必使用nuget,但它只是让事情变得如此简单。

  1. 使用nuget安装dotless
  2. 使用nuget安装System.Web.Optimization.Less
  3. 添加您的包

    bundles.Add(new LessBundle("~/Content/less")
                    .Include("~/Content/less/more.less"));
    
  4. 参考论文

    @Styles.Render("~/Content/less")
    
  5. 完成

答案 1 :(得分:8)

您应该在web.config中为较少的文件扩展名指定mime类型,如果是css,则在链接中使用该类型。

<system.webServer>
  <staticContent>
    <mimeMap fileExtension=".less" mimeType="text/css" />
  </staticContent >
</system.webServer>

我个人认为使用dotless并在服务器上处理它是一种更好的方法。

此外,不是你问题的答案,而只是一个侧面点 - 使用MVC4,你不再需要@ Url.Content()。 http://www.davidhayden.me/blog/asp.net-mvc-4-the-new-tilde-slash-feature-in-razor-2