0

VS 2012 でいくつかの .less ファイルをバンドルしようとしています。dotless もインストールする BundleTransformer をインストールしました。

ここに私の BundleConfig.cs があります

using System.Web;
using System.Web.Optimization;
using BundleTransformer.Core.Orderers;
using BundleTransformer.Core.Transformers;

namespace TrainerRoad.Web
{
    public class BundleConfig
    {
        public static void RegisterBundles(BundleCollection bundles)
        {
            var cssTransformer = new CssTransformer();
            var jsTransformer = new JsTransformer();
            var nullOrderer = new NullOrderer();

            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery-{version}.js"));

            // Use the development version of Modernizr to develop with and learn from. Then, when you're
            // ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
            bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                        "~/Scripts/modernizr-*"));

            var lessBundle = new StyleBundle("~/bundles/css").Include(
                "~/assets/css/*.less");

            lessBundle.Transforms.Add(cssTransformer);
            lessBundle.Orderer = nullOrderer;

            bundles.Add(lessBundle);

        }
    }
}

追加すると

@Styles.Render("~/bundles/css")

私の頭のセクションに私は得る

An unhandled exception of type 'System.StackOverflowException' occurred in System.Web.dll

StyleBundle ではなく単なる Bundle にしようとしましたが、どちらも役に立ちませんでした。私はより少ないファイルを直接ヒットすることができ、それらは修正を提供します(バンドルトランスフォーマーを使用します)。*.less 構文を使用する代わりに、各ファイルを指定することも試みました。

これらの LESS ファイルを正しくバンドルするにはどうすればよいですか?

4

2 に答える 2

1

Bondule を変更して、代わりに LESS ファイルをロードし、CSS コンパイルを構成できるWeb Essentialsによって生成された CSS ファイルをロードすることができます。

于 2013-07-12T20:00:45.610 に答える
0

BundleTransformer.Less は、Internet Explorer 9 以降がないと機能しません。このエラーは、大量の JS コードを実行すると発生します。つまり、Bundle Transformer モジュールのほとんどの部分でこのエラーが発生します。

于 2016-09-24T10:04:19.953 に答える