成功の解析:
DIV {
width: 500px\9;
}
ParseError:での認識されない入力:
DIV { width: 500px\9 }
この構文はhttps://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.cssにあります。
はい、これは#284で言及されました。 しかし、これはバグと見なされるべきだと思います。
500px\9
は、実際には無効な値を持つ有効なCSS構文500px?
等しいため、単に無視します)。したがって、技術的には、Lessが渡す必要があります。
@harobedまた、出力cssではなく、ブートストラップ内でソースをインポートする必要があります。
@lukeapageコンパイルされたブートストラップファイルをインポートしたい理由がいくつかあり、Lessソースではありません。 特に今のところ、名前空間/プレフィックスでラップされたブートストラップクラスを取得する唯一の方法です(たとえば、 .bs {<strong i="6">@import</strong> (less) 'bootstrap.css';}
または特定の動的に生成されたクラスを拡張します(Lessソース内では拡張できないため)。
ただし、これらの特定のケースでは、縮小されていないbootstrap.css
インポートは等しく、Lessによって処理されます( width: 500px\9;
は期待どおりにコンパイルされるため)。 ですから、これは審美的な問題のように考えることができると思います。
十分に公平なことですが、 @ harobedにはそれを行う必要がある正当な理由があるかもしれません。
私たちはそれを修正する必要があることに同意しません。
ただし、縮小されていないバージョンでは解析されます...
これを回避する1つの方法は、セミコロンなしで匿名値を機能させることです。
これを匿名の値で機能させようとしましたが失敗しました。
私はこれを持っていました。
var match = parserInput.$re(/^([^@+\/'"*`(;{}-]*)(;|(?=\}))/);
if (match) {
return new(tree.Anonymous)(match[1].trim());
}
しかし、それは空白の働きを少し変えます。 以下も入手しましたが、うまくいきませんでした。
var match = parserInput.$re(/^(([^@+\/'"*`(;{}-\s]+|\s*?)+?)\s*(;|(?=\}))/);
if (match && match[3]) {
return new(tree.Anonymous)(match[1]);
}
それが将来の実装者(または私が再びそれを取り戻す場合は私自身)に役立つことを願っています
@lukeapage 「 @harobedは、出力cssではなく、ブートストラップ内のソースをより少なくインポートする必要がある」ことを明確にしますか? 私はLessを初めて使用し、作成しているWordPressBootstrapテーマの\ 9で同じ問題を抱えています。 これは回避策ですか?
@harobed Bootstrap少ないソースには\9;
またはエスケープされた~'\9'
しかなく、これらのステートメントはコンパイラーによって問題なくコンパイルされます...したがって、実際にコンパイルしようとしているものと方法にのみ依存します。
そうですか。 私のテーマdevフォルダーには、srcとpublicの2つの子があります。 Bootstrapはsrc / less / bootstrapにあり、カスタムのLessファイルはsrc / lessにあります。 テーマ開発フォルダーから、lessc src / less / style.less public /style.cssでコンパイルします。
これは最近までうまくいきました。 clean-cssをインストールしてから、アンインストールしました。 その後、コンパイルは\ 9でエラーをスローし始めました。 私はnpmの人々と協力しましたが、クリーンアンインストールが行われているようですので、それが問題になることはないはずです。
任意のアイデアをいただければ幸いです。
@likethegoddess
その後、コンパイルは\ 9でエラーをスローし始めました。
エラーメッセージとそれが指す対応する行は通常役に立ちます。
はい、もちろん。 省略はご容赦ください。
最新のstyle.lessを復元し、コンパイルが再び機能しています。
お時間をいただきありがとうございます、@ seven-phases-max。
今DIV { left: 500px\9 }
大丈夫ですがDIV { left: -500px\9 }
まだ失敗しました
https://github.com/less/less.js/issues/1538は、参照が少ないとしてbootstrap4 cssをインポートしているときに問題になりました(bootstrap4の距離はこれ以上ありません)。
<strong i="7">@import</strong> (less, reference) "~bootstrap/dist/css/bootstrap.css";
@ /node_modules/bootstrap/dist/css/bootstrap.css (line 4475, column 31)
near lines:
<strong i="10">@media</strong> screen and (min-width: 0\0) {
.progress {
これは本当にバグのようです、これが修正を得ることができるときの見積もりは@ Seven -phases-max
最も参考になるコメント
https://github.com/less/less.js/issues/1538は、参照が少ないとしてbootstrap4 cssをインポートしているときに問題になりました(bootstrap4の距離はこれ以上ありません)。
これは本当にバグのようです、これが修正を得ることができるときの見積もりは@ Seven -phases-max