1

Bootstrap CSS を使用して、複数の配色で CSS テーマを作成しようとしています。各配色は、boostrap.lessファイルの修正バージョンとして作成されます: bootstrap-red.lessbootstrap-green.lessなど。

各 Bootstrap バージョンが行うことは、すべてのデフォルトの Bootstrap ファイルをインポートし、次に適切なカラー パレットをインポートし、次にテーマのコア構造をインポートすることです。たとえば、bootstrap-red.less次のとおりです。

@import "reset.less";
@import "variables.less";
@import "mixins.less";

/* and so on... until */

// Custom code
@import "elements.less";
@import "_mytheme-color-scheme-red.less";
@import "_mytheme-core.less";

では_mytheme-color-scheme-red.less、次のような変数を定義します。

@bannerBackground: #59a449;

ただし、コンパイルすると次のbootstrap-red.lessようになります。

NameError: variable @bannerBackground is undefined in /.../css/less/_mytheme-core.less

なぜこれが起こるのですか?variables.lessファイル内の変数は同じ方法で定義されており、後続のファイルで使用できるため、うまくいくと思いました。

同様の質問を見て、さまざまなことを試しましたが、役に立ちませんでした:

  • @import"_mytheme-color-scheme-red.less"ファイルに入っています_mytheme-core.less- 実行不可能です。また、Bootstrap はそれを行いませんが、それでも機能します。
  • BOM なしで UTF-8 でファイルをエンコード - 機能せず、同じ結果になりました。

ファイル_mytheme-color-scheme-red.lessがまったく処理されていないようです。それは、Less コンパイラがそれをスキップして直進しているかの_mytheme-core.lessようです。これを修正するにはどうすればよいですか?

4

2 に答える 2

0

修理済み。結局、問題はエンコーディングにありました。LESS コンパイラは、間違ってエンコードされたファイルをすべてスキップしていました。どうやらSublime Textは、BOMなしでUTF-8に保存するように指示しても、正しく保存されません。私のファイルはすべて ANSI またはBOM付きの UTF-8でした。それらをプレーンなUTF-8に変換するには、Notepad ++に頼らなければなりませんでした。私は今、愚かだと感じています。

出典:「variables.less」がインポートされても、変数名エラーは「未定義」です

于 2012-09-24T14:02:09.650 に答える