Lesscss和ASP.NET MVC

Ale*_*rin 9 asp.net-mvc less asp.net-mvc-4

由于我的网站从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>
Run Code Online (Sandbox Code Playgroud)

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

使用Lesscss和MVC4时有没有其他人有类似的问题?

BLe*_*LeB 24

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

  1. 安装带点使用的NuGet.
  2. 使用nuget 安装System.Web.Optimization.Less.
  3. 添加你的包

    bundles.Add(new LessBundle("~/Content/less")
                    .Include("~/Content/less/more.less"));
    
    Run Code Online (Sandbox Code Playgroud)
  4. 参考包

    @Styles.Render("~/Content/less")
    
    Run Code Online (Sandbox Code Playgroud)
  5. 完成

  • 注意,您可以简单地执行2.即使用nuget安装System.Web.Optimization.Less,因为它会将1作为依赖项拉下来.谢谢 ! (4认同)

Gee*_*key 8

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

<system.webServer>
  <staticContent>
    <mimeMap fileExtension=".less" mimeType="text/css" />
  </staticContent >
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

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

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