2012-11-15 10 views
9

重複したトピックを作成していないことを願っていますが、2日間検索しています。Dotless - MVCバンドルを使用して別のファイルでより少ない変数を参照することはできません

我々はMVC4で新しいプロジェクトを始めているし、我々はロードブートストラップの少ないバージョンを持っています。私が実行している問題は、bootstrap.lessglobal.less、または現在のファイルの外にあるクラスや変数を参照しようとするときです。現在のファイルの先頭に変数を作成して使用することはできますが、別のファイルから何かを使いたい場合は@importにしてください。私のアプリ全体が1つのファイルに含まれていれば、これは問題ありませんが、作成するファイルが少ない各ページ/セクションに4つ以上のファイルをインポートする必要があります。私はそれを見ていて

は、私は、問題 https://gist.github.com/2002958

からMVC4束ねる追加を追加し、各ファイルが評価され、独立して、CSSに変換されていることです。私は(Less.Parse(lessString))プロセスを簡素化し、より少ないバンドル内のすべてのファイルから、大規模な小さい文字列を構築し、それらを変換しようとしたが、私はエラーを取得しています:

"You are importing a file ending in .less that cannot be found"

だからここに私の究極の質問です:物理的なファイルが参照されることなく、単純に少ない文字列を解析する方法はありますか?それは私の問題を解決するだろう。

これは奇妙な理由では不可能なことですが、コンポーネントやプロセスが既に存在していることが分かりましたが、実際にそれらを圧縮してからバンドルすると分かりません。

これを動作させようとすると、私は円で回転しているので、この被写体の明るさは分かります。

この質問はまた、ドットなしのグループに投稿されました:
https://groups.google.com/forum/?fromgroups#!topic/dotless/j-8OP1dNjUY

+0

を役に立てば幸いusualy ~/Content/bootstrap/bootstrap.less

に記載されているすべての必要な@importディレクティブを保持しているあなたは、これに対する解決策を発見しましたか? –

+0

残念ながら、私は決してしなかった。私は賢明だと思ったよりも、それに多くの時間を費やして、動き出しました。問題を解決していないので、私はこれまでのいくつかのプロジェクトであまり使用していません。それだけで私の必要性のための実行可能な選択肢であるように思われていない。 – Difinity

答えて

3

このsollutionは私のために働いている:
私は2つのnugetのパッケージがあります:web.configdotless adapter for system.web.optimization

dotless

を私はあなたが定義する必要があり、このライン

<configuration> 
    <configSections> 
     <section name="dotless" type="dotless.Core.configuration.DotlessConfigurationSectionHandler, dotless.Core" /> 
    </configSections> 
    <system.web> 
     <httpHandlers> 
      <add path="*.less" verb="GET" type="dotless.Core.LessCssHttpHandler, dotless.Core" /> 
     </httpHandlers> 
    </system.web> 
    <system.webServer> 
     <validation validateIntegratedModeConfiguration="false" /> 
     <handlers> 
      <add name="dotless" path="*.less" verb="GET" type="dotless.Core.LessCssHttpHandler,dotless.Core" resourceType="File" preCondition="" /> 
     </handlers> 
    </system.webServer> 
    <dotless minifyCss="true" cache="true" web="false" disableParameters="true" /> 
</configuration> 

ノートを持っていますあなたの必要に応じてドットのないパラメータBundleConfig.cs

public static void RegisterBundles(BundleCollection bundles) 
{ 
    bundles.Add(new LessBundle("~/bundles/styles/").Include(
     "~/Content/site.less" 
    )); 
    BundleTable.EnableOptimizations = True; //false if you want to debug css 
} 

とfinaly Site.less

/*i have to redefine some bootstrap mixin and variables, so importing bootstrap and extending happings there*/ 
@import "bootstrap-extends.less"; 

/* all other needed less should be included here too 
    for example: 
    @import "admin.less"; 
    @import "controls.less"; 
    etc 
*/ 

body{ 

} 

site.lessbootstrap-extends.less

は、コンテンツフォルダ内にあります。
bootstrap-extendsは、私は、これが

関連する問題