3

我得到了旧的,你想在我的 .less 文件上规范化行尾,并且不假思索地这样做了。

后来我意识到我的 css 没有完全缩小。下面是变换的处理方法

public void Process(BundleContext context, BundleResponse response)
{
    response.Content = dotless.Core.Less.Parse(response.Content);
    response.ContentType = "text/css";
}

BundleConfig.cs

bundles.Add(new Bundle("~/Less/css", new LessTransform(), new CssMinify())
    .Include("~/Content/css/App.less"));

我放了一个断点Process并复制了之前/之后的CSS,发现它dotless只是删除/r而不是/n

这是我的 css 文件的片段,显示了行为

无点解析之前

"/*\r\n\r\nApp.less\r\n

无点解析后

"/*\n\nApp.less\n

所以它在技术上是有效的,只是不是最优的。我正在考虑返回并/r/n从文件中删除并将它们替换为 just/r但我会喜欢一个不会​​导致行尾对话框在我打开文件时困扰我的解决方案。

更新:忘了我最近也升级了 dotless nuget 包

我的网络配置

<configSections>
    <section name="dotless" type="dotless.Core.configuration.DotlessConfigurationSectionHandler, dotless.Core" />
    ...
</configSections>
...
<httpHandlers>
  <add path="*.less" verb="GET" type="dotless.Core.LessCssHttpHandler, dotless.Core" />
</httpHandlers>
...
<handlers>
     <add name="dotless" path="*.less" verb="GET" type="dotless.Core.LessCssHttpHandler,dotless.Core" resourceType="File" preCondition="" />
</handlers>
...
<dotless minifyCss="true" />
4

1 回答 1

1

这是一个示例,它给了我一个正确缩小的结果,与您目前拥有的非常相似:

捆绑配置

BundleTable.EnableOptimizations = true; // I think is what's missing

var cssBundle = new StyleBundle("~/Content/css")
    .Include("~/Content/site.less");

cssBundle.Transforms.Add(new LessTransform());
cssBundle.Transforms.Add(new CssMinify());

bundles.Add(cssBundle);

少变换

public void Process(BundleContext context, BundleResponse response)
{
    response.Content = dotless.Core.Less.Parse(response.Content);
    response.ContentType = "text/css";
}

没有Web.config部分。

于 2015-01-07T02:42:10.633 回答