Bundle Transformer for LESS和@import的使用

时间:2013-09-10 12:54:58

标签: c# asp.net-mvc-4 less bundling-and-minification bundletransformer

我正在使用Bundle Transformer版本1.7.27:LESS包:http://www.nuget.org/packages/BundleTransformer.Less/1.7.27

然后我尝试在BundleConfig.cs的MVC4项目的App_Start文件中执行以下操作。

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new StyleBundle("~/Content/fontawesome")
        .Include("~/Content/less/fontawesome/font-awesome.less"));
    BundleTable.EnableOptimizations = true;
}

默认情况下,Font Awesome less包在font-awesome.less文件中包含这些@imports

@import "variables.less";
@import "mixins.less";
@import "path.less";
@import "core.less";
@import "bootstrap.less";
@import "extras.less";
@import "icons.less";

这些文件与font-awesome.less文件位于同一目录中。

捆绑启动并显示如下:

<link href="/Content/fontawesome?v=D2n9lw_SpgOm7QSYHjToA3En_lqvKQpP2DbfM_CElpc1" rel="stylesheet"/>

但@import文件都返回404 not found错误,我认为在执行捆绑之前,@import规则首先会从其相对位置处理到原始文件。< / p>

我错过了什么吗?

1 个答案:

答案 0 :(得分:6)

仅仅因为你为bundle变换器抓取Nuget包并不意味着它在使用OOB StyleBundle时会转换...你必须将BundleTransformer类注入到管道中。我实际上已经在我的博客上发布了一系列文章 - .ToString(theory); - Who could ask for more with LESS CSS

正如您可以看到文章的三分之一,我宣布一个新的Bundle并向其添加CssTransformer。如果您有任何其他问题,请回复,但该文章涵盖了从MVC4开始到结束的Bundle Transformer的实现