私はちょっと気になりません。 ASPにRick Andersons Blogpost about bundling and minificationに示すように、まず私は、インストール・パッケージドットなしASP.NET MVC4 Appは、デベロッパーで動作している間、本番環境でBootstrap.LESSをコンパイルできません
その後
と同様Bootstrap.less
インストール・パッケージにnugetを使用しました.net mvc、私はLessTransformクラスを作成しました。私は2つの空の無限のファイルを設定し、それらをパッケージ化した新しいバンドルを作成しました...
var lessBundle = new Bundle("~/MyLess").IncludeDirectory("~/Content/MyLess", "*.less", true); lessBundle.Transforms.Add(new LessTransformer()); lessBundle.Transforms.Add(new CssMinify()); bundles.Add(lessBundle);
それはうまくいきました。それから私は、ブートストラップのJavaScriptへ
bundles.Add(new StyleBundle("~/Bootstrap").Include("~/Content/Bootstrap/less/bootstrap.less"));
とScriptBundle ...(基本的には船をbootstrap.less他のすべての.lessのファイルを含めるように@importを使用しています)、メインbootstrap.lessファイルに新しいStyleBundleを追加しました...
bundles.Add(new ScriptBundle("~/bundles/Bootstrap").Include("~/Scripts/bootstrap/js/bootstrap-*"));
すべての出荷されたブートストラップ - * .jsファイルとTADAAがすべて正常に機能しました。インポートされたすべてのJavaScriptファイルが適切に読み込まれたことを含むCSSがコンパイルされました。
しかし...のみとすぐに私は1つのファイルにバンドルし、縮小は、私が問題に遭遇した正常に動作するかどうかを確認するために、デバッグを無効にするよう
<compilation debug="true" targetFramework="4.5"/>
で開発モードのために働いているすべての。
バンドルプロセスも私をboggles縮小さbootstrap.javascriptバンドルを見たbootstrap.less
/* Minification failed. Returning unminified contents. (11,1): run-time error CSS1019: Unexpected token, found '/' (11,2): run-time error CSS1019: Unexpected token, found '/' (12,1): run-time error CSS1031: Expected selector, found '@import' (12,1): run-time error CSS1025: Expected comma or open brace, found '@import' (12,27): run-time error CSS1019: Unexpected token, found '/' (12,28): run-time error CSS1019: Unexpected token, found '/' ... here go many many lines like these (60,25): run-time error CSS1019: Unexpected token, found ';' (62,1): run-time error CSS1019: Unexpected token, found '/' (62,2): run-time error CSS1019: Unexpected token, found '/' (63,1): run-time error CSS1031: Expected selector, found '@import' (63,1): run-time error CSS1025: Expected comma or open brace, found '@import' (63,27): run-time error CSS1019: Unexpected token, found '/' (63,28): run-time error CSS1019: Unexpected token, found '/' : run-time error CSS1067: Unexpected end of file encountered */ /*! * Bootstrap v2.3.1 * * Copyright 2012 Twitter, Inc * Licensed under the Apache License v2.0 * http://www.apache.org/licenses/LICENSE-2.0 * * Designed and built with all the love in the world @twitter by @mdo and @fat. */ // Core variables and mixins @import "variables.less"; // Modify this for custom colors, font-sizes, etc @import "mixins.less"; ... and the rest of the original bootstrap.less... no style definitions
にインポートされたすべてのものを.lessファイルをインポートするために失敗しているようです。 dev内、ページをロードした後、今bootstrap.javascriptにはJavaScriptコンソールが
Uncaught TypeError: Cannot read property 'Constructor' of undefined
私は密接に私の問題に関連したように見えたいくつかのトピックを見て持っていたと述べてグーグルにバンドルし、縮小された後に全く問題ありませんでした私はいくつかのことを試みましたが、これまでに成功していませんでした。
私の状況に若干の光を当て、私が逃していることや間違っていることを指摘してくれる人には、前もって感謝します。 Ingo
これは素晴らしいです!どうもありがとう。ちょうど一thougth。 nugetのブートストラップをインストールしないと、少ないファイルで変更を上書きするアソシエーションが作成されますか?それはあなたが変更を必要としていると仮定しています。 –
こんにちは、Bootstrap.lessをインストールするだけで.lessと.jsファイルがアプリケーションのcontent/scriptsフォルダにインストールされます。 dotlessをインストールすると、web.configにいくつかのエントリが追加されます。 – Ingo
その上、ナゲットは何も上書きしません。どのように使用するかはあなた次第です。 .lessファイルをcssにプリコンパイルできますが、これは私がやりたいことではありません。以下の解決策は、あなたのアプリケーションで、just-in-timeをlessからコンパイルすることができます。私のわずかな変更により、.less-filesのソースとして複数のディレクトリを持つことができます。 – Ingo