Less.js: ParseError: Nicht erkannte Eingabe mit «DIV {width: 500px \ 9}»

Erstellt am 26. Sept. 2014  ·  13Kommentare  ·  Quelle: less/less.js

Analyseerfolg mit:

DIV {
    width: 500px\9;
}

ParseError: Nicht erkannte Eingabe in mit:

DIV { width: 500px\9 }

Sie finden diese Syntax unter https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css

bug medium priority

Hilfreichster Kommentar

https://github.com/less/less.js/issues/1538 war ein Problem für mich beim Importieren von Bootstrap4-CSS als weniger Referenz (Bootstrap4 hat nicht mehr weniger Abstand).

<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 {

Dies scheint wirklich ein Fehler zu sein. Gibt es eine Schätzung, wann dies zu einer Korrektur bei sieben Phasen und maximaler

Alle 13 Kommentare

Ja, das wurde in # 284 erwähnt. Aber ich denke, das sollte seitdem als Fehler angesehen werden
500px\9 ist eigentlich eine gültige CSS-Syntax mit nur einem ungültigen Wert (für "Standard" -Browser entspricht sie 500px? daher ignorieren sie sie einfach), also sollte Less sie technisch bestehen.

@harobed Sie sollten auch die Quelle weniger in Bootstrap importieren, nicht die Ausgabe-CSS

@lukeapage Es gibt einige Gründe, warum man kompilierte Bootstrap-Dateien importieren möchte und nicht die Less-Quellen. Insbesondere im Moment ist dies die einzige Möglichkeit, Bootstrap-Klassen mit Namespace / Präfix zu versehen (z. B. .bs {<strong i="6">@import</strong> (less) 'bootstrap.css';} oder bestimmte dynamisch generierte Klassen zu erweitern (da diese nicht in Less-Quellen erweitert werden können).
In diesen speziellen Fällen wäre der Import von nicht minimierten bootstrap.css gleich und wird von Less in Ordnung verarbeitet (da width: 500px\9; dort wie erwartet kompiliert wird). Ich denke, dies kann eher als ästhetisches Problem angesehen werden.

Fairerweise hat
Ich bin nicht anderer Meinung, wir sollten es reparieren.

Es wird jedoch mit der nicht minimierten Version analysiert ...
Eine Möglichkeit, dies zu umgehen, besteht darin, anonymen Wert ohne Semikolon zu verwenden.

Versucht und nicht gelungen, dies mit anonymem Wert zum Laufen zu bringen.

Ich hatte das ..

                var match = parserInput.$re(/^([^@+\/'"*`(;{}-]*)(;|(?=\}))/);
                if (match) {
                    return new(tree.Anonymous)(match[1].trim());
                }

aber dann ändert es die Whitespace-Funktionsweise ein wenig. Habe auch das unten, aber das hat nicht funktioniert.

                var match = parserInput.$re(/^(([^@+\/'"*`(;{}-\s]+|\s*?)+?)\s*(;|(?=\}))/);
                if (match && match[3]) {
                    return new(tree.Anonymous)(match[1]);
                }

Hoffe, das hilft einem zukünftigen Implementierer (oder mir selbst, wenn ich es wieder aufgreife)

@lukeapage Würden Sie klarstellen, " @harobed, Sie sollten auch die Quelle weniger in Bootstrap importieren, nicht die Ausgabe-CSS"? Ich bin neu bei Less und habe das gleiche Problem mit \ 9 in einem WordPress-Bootstrap-Thema, das ich erstelle. Ist das eine Problemumgehung?

@harobed Bootstrap Weniger Quellen haben nur \9; oder sind ~'\9' entkommen, und diese Anweisungen werden vom Compiler einwandfrei kompiliert.

Aha. Mein Theme-Entwicklerordner hat zwei untergeordnete Elemente, src und public. Bootstrap befindet sich unter src / less / bootstrap mit meinen benutzerdefinierten Less-Dateien in src / less. Aus meinem Theme Dev-Ordner kompiliere ich mit lessc src / less / style.less public / style.css

Dies hat bis vor kurzem gut funktioniert. Ich habe clean-css installiert und dann deinstalliert. Dann begann das Kompilieren den Fehler auf \ 9 zu werfen. Ich habe mit den npm-Leuten zusammengearbeitet und es scheint, dass ich eine saubere Deinstallation habe, also sollte das nicht das Problem sein.

Irgendwelche Ideen wären willkommen.

@likethegoddess

Dann begann das Kompilieren den Fehler auf \ 9 zu werfen.

Die Fehlermeldung und die entsprechenden Zeilen, auf die sie verweist, sind normalerweise hilfreich.

Ja bitte. Verzeihen Sie die Unterlassung.

Ich habe meinen neuesten Stil wieder hergestellt. Ohne und das Kompilieren funktioniert wieder.

Vielen Dank für Ihre Zeit, @ sieben-Phasen-max.

Jetzt
DIV { left: 500px\9 }
ist ok, aber
DIV { left: -500px\9 }
immer noch fehlgeschlagen

https://github.com/less/less.js/issues/1538 war ein Problem für mich beim Importieren von Bootstrap4-CSS als weniger Referenz (Bootstrap4 hat nicht mehr weniger Abstand).

<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 {

Dies scheint wirklich ein Fehler zu sein. Gibt es eine Schätzung, wann dies zu einer Korrektur bei sieben Phasen und maximaler

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen