Less.js: ParseError: Entrée non reconnue avec «DIV {width: 500px \ 9}»

Créé le 26 sept. 2014  ·  13Commentaires  ·  Source: less/less.js

Analyse du succès avec:

DIV {
    width: 500px\9;
}

ParseError: entrée non reconnue dans avec:

DIV { width: 500px\9 }

Vous pouvez trouver cette syntaxe dans https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css

bug medium priority

Commentaire le plus utile

https://github.com/less/less.js/issues/1538 a été un problème pour moi lors de l'importation de bootstrap4 css en tant que moins de référence (bootstrap4 n'a plus moins de dist).

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

Cela semble vraiment être un bogue, une estimation du moment où cela pourrait obtenir un correctif @ seven-phases-max @lukeapage ? Merci!

Tous les 13 commentaires

Oui, cela a été mentionné au n ° 284. Mais je pense que cela devrait être considéré comme un bug car
500px\9 est en fait une syntaxe CSS valide avec juste une valeur invalide (pour les navigateurs "standard" c'est égal à 500px? donc ils l'ignorent simplement) donc techniquement Less devrait la passer.

@harobed, vous devriez également importer la source moins dans le bootstrap, pas dans le css de sortie

@lukeapage il y a plusieurs raisons pour lesquelles on peut vouloir importer des fichiers Bootstrap compilés et non ses sources Less. En particulier pour le moment, c'est le seul moyen d'obtenir des classes d'amorçage enveloppées avec un espace de noms / préfixe (par exemple .bs {<strong i="6">@import</strong> (less) 'bootstrap.css';} ou d'étendre certaines classes générées dynamiquement (car elles ne peuvent pas être étendues dans Less sources).
Cependant, pour ces cas particuliers, l'importation de bootstrap.css non minifiée serait égale et elle sera traitée par Less très bien (puisque width: 500px\9; se compile comme prévu). Donc je suppose que celui-ci peut être considéré plus comme un problème esthétique.

Assez juste, @harobed peut avoir une bonne raison de le faire.
Je ne conteste pas que nous devrions y remédier.

Cependant, il analyse avec la version non réduite ...
Une façon de contourner cela serait de faire fonctionner la valeur anonyme sans point-virgule.

J'ai essayé et n'a pas réussi à faire fonctionner cela avec une valeur anonyme.

J'avais ça ...

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

mais cela change un peu le fonctionnement des espaces blancs. J'ai également obtenu ce qui suit, mais cela n'a pas fonctionné.

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

J'espère que cela aidera un futur réalisateur (ou moi-même si je le reprends)

@lukeapage Pourriez-vous clarifier " @harobed, vous devriez également importer moins la source à l'intérieur de bootstrap, pas la sortie css"? Je suis nouveau dans Less et j'ai le même problème avec \ 9 dans un thème WordPress Bootstrap que je construis. Est-ce une solution de contournement?

@harobed Bootstrap Less sources n'ont que \9; ou échappées ~'\9' et ces instructions sont bien compilées par le compilateur ... Donc cela dépend uniquement de ce que vous essayez de compiler et de la manière dont vous essayez de le compiler.

Je vois. Mon dossier de développement de thème a deux enfants, src et public. Bootstrap est à src / less / bootstrap avec mes fichiers Less personnalisés dans src / less. Depuis mon dossier de développement de thème, je compile avec lessc src / less / style.less public / style.css

Cela a bien fonctionné jusqu'à récemment. J'ai installé clean-css, puis désinstallé. Ensuite, la compilation a commencé à lancer l'erreur sur \ 9. J'ai travaillé avec les gens de npm et il semble que j'ai une désinstallation propre, donc cela ne devrait pas être le problème.

Toute idée serait appréciée.

@likethegoddess

Ensuite, la compilation a commencé à lancer l'erreur sur \ 9.

Le message d'erreur et les lignes correspondantes vers lesquelles il pointe sont généralement utiles.

Oui bien sûr. Pardonnez l'omission.

J'ai rétabli mon style le plus récent.less et la compilation fonctionne à nouveau.

Merci pour votre temps, @ seven-phases-max.

À présent
DIV { left: 500px\9 }
ça va, mais
DIV { left: -500px\9 }
toujours échoué

https://github.com/less/less.js/issues/1538 a été un problème pour moi lors de l'importation de bootstrap4 css en tant que moins de référence (bootstrap4 n'a plus moins de dist).

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

Cela semble vraiment être un bogue, une estimation du moment où cela pourrait obtenir un correctif @ seven-phases-max @lukeapage ? Merci!

Cette page vous a été utile?
0 / 5 - 0 notes