我正在制作基于Express的Web应用程序,每当有人访问此jade文件时,我都会收到以下错误:
Warning: missing space before text for line 28 of jade file "C:\x\app\view
s\login.jade"
Run Code Online (Sandbox Code Playgroud)
它也会为它发生的每一行吐出几次.
我看了看这些线条,我无法弄清楚它在抱怨什么.
我的玉文件如下:
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
Run Code Online (Sandbox Code Playgroud)
小智 41
在玉器中使用| 什么时候开始只有文字
错了 - >
td
{{anything}}
br
Hello
Run Code Online (Sandbox Code Playgroud)
正确 - >
td
| {{anything}}
br
| Hello
Run Code Online (Sandbox Code Playgroud)
Chr*_*ren 24
使用!{}语法时出现此错误并获得额外返回:
.row
!{marked(val)}
Run Code Online (Sandbox Code Playgroud)
应该:
.row !{marked(val)}
Run Code Online (Sandbox Code Playgroud)
为什么在这个github问题中突出显示所有jade 似乎有效时会出现此问题.引用原始问题本身:
警告是因为
!{}并且#{}是用于文本内插.即你必须在(侧)文本(块)开始.您应该使用=和!=缓冲JavaScript表达式.
这意味着只有在现有文本块中进行插值时才会使用!{}和#{}.这里有像咖啡脚本#{}插值的东西:
a = "Hi #{name}!"
Run Code Online (Sandbox Code Playgroud)
转换为(在javascript中)
a = "Hi " + name + "!";
Run Code Online (Sandbox Code Playgroud)
因此,在玉太,你将使用!{}和!{}正在运行的文本(段落或字符串)内.要仅从变量输出字符串而不显式启动新的文本块,您可以使用=或!=.
.row
!= marked(val)
.another-row
= marked(val)
Run Code Online (Sandbox Code Playgroud)
另一种方法是显式启动一个新的文本块,如下所示:
.row
| !{marked(val)}
.another-row
| #{marked(val)}
Run Code Online (Sandbox Code Playgroud)
小智 3
我把你的代码复制到 Notepad++ 中,并打开“查看空白”。
第 28 行末尾有 4 个额外空格(此处显示为破折号):
input(style="width:75px;height:30px;", type="submit", value="Login")----
Run Code Online (Sandbox Code Playgroud)
此外,第 34 行在“Register”之后也有几个额外的空格。