我将LESS引入现有的ASP.NET Web表单应用程序中。为了让intellisense工作,我决定设置LessCssHttpHandler
来拦截以.less.css
结尾的文件请求。这样,Visual Studio仍然认为我们正在处理CSS文件。我通过在web.config文件中添加以下行来完成此操作:
<add type="dotless.Core.LessCssHttpHandler, dotless.Core"
validate="false" path="*.less.css" verb="*" />
为了使其工作,我不得不调整我的IIS设置,以便ASP.NET框架处理.css
文件。不幸的是,通过这样做,现在我现有的.css
文件(由无点HTTP处理程序处理,因为它们不以.less.css
结尾)不返回任何内容。这是有道理的,因为ASP.NET框架在看到具有该扩展名的文件时并不真正知道该怎么做。
除了我上面处理普通.css
文件之外,我还能设置某种基本的HTTP处理程序吗?类似的东西:
<add verb="*" path="*.css" type="insert some base HTTP handler here that will simply return the contents of the file" />
答案 0 :(得分:4)
看起来我正在寻找StaticFileHandler。这就是我们最终将它添加到web.config中的httpHandlers节点的方式:
<add verb="*" path="*.less.css" validate="false" type="dotless.Core.LessCssHttpHandler, dotless.Core, Version=1.1.0.7, Culture=neutral, PublicKeyToken=96B446C9E63EAE34, processorArchitecture=MSIL" />
<add verb="*" path="*.css" type="System.Web.StaticFileHandler" />
答案 1 :(得分:3)
我们使用Chirpy作为我们的LESS支持(以及我们的谷歌闭包编译器支持)。它允许您配置LESS的文件扩展名,例如 .less.css ,然后您可以获得Intellisense支持。
它不是在运行时进行翻译,而是在visual studio中的设计时进行。当您编辑并保存LESS文件时,Chirpy会启动并处理生成css文件的LESS文件。这样我们就可以避免将css文件服务交给ASP.NET了。
答案 2 :(得分:0)
我倾向于使用控制台编译器并将less文件重命名为.css httphandler通常仅适用于需要CSS参数的人。