由于我的网站从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时是否还有其他人遇到类似问题?
答案 0 :(得分:24)
在我看来,更好地设置它的一个简单方法是使用nuget。你不必使用nuget,但它只是让事情变得如此简单。
添加您的包
bundles.Add(new LessBundle("~/Content/less")
.Include("~/Content/less/more.less"));
参考论文
@Styles.Render("~/Content/less")
完成
答案 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