para mejor formato escanear documentos cual pug

pug - mejor - Jade: falta espacio antes del texto para la línea x del archivo de jade



cual es el mejor formato para escanear (6)

Estoy haciendo una aplicación web basada en Express y cada vez que alguien visita este archivo de jade, aparece el siguiente error:

Warning: missing space before text for line 28 of jade file "C:/x/app/view s/login.jade"

También lo escupe algunas veces por cada línea en la que sucede.

Eché un vistazo a estas líneas y no puedo entender de qué se está quejando.

Mi archivo de jade es el siguiente:

doctype html html head meta(charset=''utf-8'') link(href=''style.css'', rel=''stylesheet'') body .wrapper header.header a(href="/", style="color: #000000;") h1(style="position: absolute; top: 30px;") Hello .middle .container main.stream p Login main.name form(id="login", method="POST", action="/login") table(cellspacing="15") tr td Email td input(type=''email'', name=''email'' style="width: 250; height: 18px; border: 1px solid #999999; padding: 5px;") tr td Password td input(type=''password'', name=''password'' style="width: 250; height: 18px; border: 1px solid #999999; padding: 5px;") tr td input(style="width:75px;height:30px;", type="submit", value="Login") aside.left-sidebar main.dir a(href="/") Home main.dir a(href="/signup") Register footer.footer h3 Hello p This is a footer


Alternativamente, usted puede tener este problema si tiene algo así ...

/t /t p Foo /t /t p /t Foo

La respuesta anterior también generó este error, por lo que técnicamente estamos en lo cierto. ;)

Además, si usas vim. Puedes ver espacios haciendo,

:set hlsearch / /


En el uso de Jade | cuando empiezas con solo texto

mal ->

td {{anything}} br Hello

correcto ->

td | {{anything}} br | Hello


Obtuve este error al usar la sintaxis! {} Y obtuve un rendimiento extra:

.row !{marked(val)}

debiera ser:

.row !{marked(val)}


Por qué este problema ocurre incluso cuando todo tu jade parece válido se resalta en este problema de github . Citando del tema original en sí:

La advertencia es porque !{} Y #{} son para la interpolación dentro del texto. es decir, debe estar en (lado) un texto (bloque) para comenzar. Deberías usar = y != Para almacenar las expresiones de JavaScript.

Esto significa que !{} Y #{} solo deben usarse si está interpolando dentro de un bloque de texto existente. Algo así como la interpolación #{} coffee-script aquí:

a = "Hi #{name}!"

se traduce a (en javascript)

a = "Hi " + name + "!";

Por lo tanto, en Jade también, usarás !{} Y !{} Dentro de un texto en ejecución (un párrafo o una cadena). Para simplemente generar una cadena desde una variable sin iniciar explícitamente un nuevo bloque de texto, usaría = o != .

.row != marked(val) .another-row = marked(val)

Una alternativa sería comenzar explícitamente un nuevo bloque de texto como tal:

.row | !{marked(val)} .another-row | #{marked(val)}


Tomé su código y lo copié en Notepad ++ con View Whitespace on.

La línea 28 tiene 4 espacios adicionales al final (se muestran como guiones aquí):

input(style="width:75px;height:30px;", type="submit", value="Login")----

Además, la línea 34 tiene varios espacios adicionales después de "Registrarse" también.


esto también puede ser causado por el uso de pestañas en lugar de espacios

div(attr="val")[/t]text

o por /t caracteres en los extremos de las líneas