0

我将LESS引入现有的 ASP.NET Web 表单应用程序。为了让智能感知工作,我决定设置LessCssHttpHandler拦截以.less.css. 这样,Visual Studio 仍然认为我们正在处理一个 CSS 文件。我通过将以下行添加到我的 web.config 文件中来做到这一点:

<add type="dotless.Core.LessCssHttpHandler, dotless.Core" 
     validate="false" path="*.less.css" verb="*" />

为了让它工作,我必须调整我的 IIS 设置,以便.css文件由 ASP.NET 框架处理。不幸的是,通过这样做,现在我现有的.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" />
4

3 回答 3

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" />
于 2011-05-11T23:28:29.603 回答
3

我们使用Chirpy来支持我们的 LESS(以及我们的 google 闭包编译器支持)。它允许您为 LESS 配置文件扩展名,例如.less.css,然后您可以获得 Intellisense 支持。

它不在运行时进行翻译,而是在 Visual Studio 中的设计时进行。当您编辑并保存 LESS 文件时,Chirpy 会启动并处理生成 css 文件的 LESS 文件。这样我们就避免了将 css 文件服务交给 ASP.NET。

于 2011-04-29T02:46:49.980 回答
0

我倾向于使用控制台编译器并将less文件重命名为.css httphandler通常只适用于需要CSS参数的人。

于 2011-04-29T12:20:28.377 回答