アップデート2012年3月5日:ブートストラップの連中はブートストラップのバージョン2.0.2でこの問題を修正しました(まだリリースされていません)。 this commitを参照してください。
less.jsの現在のバージョンでは、url()値に変数を直接使用することはできません(例:url(@iconWhiteSpritePath)
)。代わりに文字列補間を使用する必要があります(例:url("@{iconWhiteSpritePath}")
)これは同じことを成し遂げます。ブートストラップの人たちは、このクォークを考慮に入れて構文を更新しました。
オリジナル回答
私は今日、正確な問題に遭遇したと、それの原因を考え出しました。あなたのスタックは私の前にいくつかのバージョンがあるので(私はBootstrap 2.0とless.js 1.2.2を使用しています)、それは同じ問題であるとは確信できませんが、おそらく関連しています。
:sprites.lessで背景画像のURL()値で直接それらを使用して、その後
@iconSpritePath: "../img/glyphicons-halflings.png";
@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png";
そして:
とにかく、私にとっての問題は、Twitterのブートストラップは、いくつかの変数を定義しているということでした大きな問題を引き起こしているthis Github issueでの議論パー
[class^="icon-"],
[class*=" icon-"] {
display: inline-block;
width: 14px;
height: 14px;
line-height: 14px;
vertical-align: text-top;
background-image: url(@iconSpritePath);
background-position: 14px 14px;
background-repeat: no-repeat;
.ie7-restore-right-whitespace();
}
.icon-white {
background-image: url(@iconWhiteSpritePath);
}
。 less.jsがこの値を超過すると、コンパイル全体が失敗します。
良いニュースは、その問題の修正があり、csnoverによって提供されています。
if (typeof(window) !== 'undefined' && typeof(val.value) !== 'undefined' && !/^(?:https?:\/\/|file:\/\/|data:|\/)/.test(val.value) && paths.length > 0) {
に
if (typeof(window) !== 'undefined' && !/^(?:https?:\/\/|file:\/\/|data:|\/)/.test(val.value) && paths.length > 0) {
、あなたが設定する必要があります。ただ、tree.URLにこの行を変更します。言い換えれば、val.valueが、charAt()が未定義でチョークしないように設定されていることを確認します。
この修正プログラムはすぐにプロジェクトにコミットされ、ブートストラップはすぐにブラウザ環境のless.jsで動作します。私にとって
に
と
を交換するあなたを投稿することができますstyle.less? – Todd
@Toddがこの投稿を更新しました。 style.lessはうまく動作します。 – briangallagher
コンソール内にロード/レンダリングされたスタイルシートが表示されますか? –