Less.js: ParseError: entrada não reconhecida com «DIV {largura: 500px \ 9}»

Criado em 26 set. 2014  ·  13Comentários  ·  Fonte: less/less.js

Sucesso de análise com:

DIV {
    width: 500px\9;
}

ParseError: entrada não reconhecida com:

DIV { width: 500px\9 }

Você pode encontrar essa sintaxe em https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css

bug medium priority

Comentários muito úteis

https://github.com/less/less.js/issues/1538 tem sido um problema para mim ao importar o CSS do bootstrap4 como menos referência (o bootstrap4 não tem menos dist mais).

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

Isso realmente parece um bug, alguma estimativa de quando isso poderia ser corrigido @ seven- phase -max

Todos 13 comentários

Sim, isso foi mencionado em # 284. Mas acho que isso deve ser considerado um bug, já que
500px\9 é na verdade uma sintaxe CSS válida com apenas um valor inválido (para navegadores "padrão" é igual a 500px? portanto, eles simplesmente a ignoram), então, tecnicamente, Less deve passá-la.

@harobed você também deve importar menos o código-fonte dentro do bootstrap, não o css de saída

@lukeapage existem algumas razões pelas quais alguém pode querer importar arquivos Bootstrap compilados e não suas fontes Less. Em particular, por enquanto, é a única maneira de obter classes de bootstrap embrulhadas com namespace / prefixo (por exemplo, .bs {<strong i="6">@import</strong> (less) 'bootstrap.css';} ou estender certas classes geradas dinamicamente (uma vez que não podem ser estendidas dentro de fontes Less).
Porém, para esses casos particulares, importar bootstrap.css não minimizado seria igual e seria processado por Less muito bem (já que width: 500px\9; compila conforme o esperado). Então eu acho que este pode ser considerado mais como uma questão estética.

Muito justo,
Eu não discordo que devemos consertar ..

No entanto, ele analisa com a versão não minimizada ...
Uma maneira de contornar isso seria fazer o valor anônimo funcionar sem ponto-e-vírgula.

Tentei e não consegui fazer isso funcionar com valor anônimo.

Eu tive isso ..

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

mas então muda um pouco o funcionamento dos espaços em branco. Também tenho o abaixo, mas não funcionou.

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

Espero que ajude um implementador futuro (ou eu mesmo, se eu pegá-lo novamente)

@lukeapage Você poderia esclarecer " @harobed, você também deve importar menos o código-fonte dentro do bootstrap, não o css de saída"? Sou novo no Less e estou tendo o mesmo problema com o \ 9 em um tema WordPress Bootstrap que estou criando. Isso é uma solução alternativa?

@harobed Bootstrap Menos fontes têm apenas \9; ou escaparam ~'\9' e essas instruções são compiladas pelo compilador muito bem ... Portanto, depende apenas do que e como você está realmente tentando compilar.

Entendo. Minha pasta de desenvolvimento de tema tem dois filhos, src e público. O bootstrap está em src / less / bootstrap com meus arquivos Less personalizados em src / less. Da minha pasta de desenvolvimento de temas, eu compilo com lessc src / less / style.less public / style.css

Isso funcionou bem até recentemente. Eu instalei clean-css, então desinstalei. Em seguida, a compilação começou a gerar o erro em \ 9. Trabalhei com o pessoal do npm e parece que tenho uma desinstalação limpa, então esse não deve ser o problema.

Todas as idéias seriam apreciadas.

@likethegoddess

Em seguida, a compilação começou a gerar o erro em \ 9.

A mensagem de erro e as linhas correspondentes apontadas geralmente são úteis.

Sim, claro. Perdoe a omissão.

Eu restabeleci meu style.less mais recente e compilando está funcionando novamente.

Obrigado pelo seu tempo, @ sete-fases-máx.

Agora
DIV { left: 500px\9 }
está bem, mas
DIV { left: -500px\9 }
ainda falhou

https://github.com/less/less.js/issues/1538 tem sido um problema para mim ao importar o CSS do bootstrap4 como menos referência (o bootstrap4 não tem menos dist mais).

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

Isso realmente parece um bug, alguma estimativa de quando isso poderia ser corrigido @ seven- phase -max

Esta página foi útil?
0 / 5 - 0 avaliações