Node.js JADE源代码中的换行符?

5

我想知道为什么在解析jade模板时,源代码中没有任何换行符。它看起来像这样:

!!! 5
html
head
    title= title
    link(rel='stylesheet', href='/stylesheets/css.css')
    link(rel='stylesheet', href='/stylesheets/blitzer/jquery-ui-1.8.10.custom.css')
    link(rel='stylesheet', href='/stylesheets/table_jui.css')

    script(type="text/javascript", src="/javascripts/jquery.min.js")
    script(type="text/javascript", src="/javascripts/jquery-ui.min.js")
    script(type="text/javascript", src="/javascripts/jquery.jwNotify.js")
    script(type="text/javascript", src="/javascripts/jquery.dataTables.min.js")
    script(type="text/javascript", src="/javascripts/js.js")

body!= body

现在我的源代码看起来像这样:
<!DOCTYPE html><html><head><title>Express v2</title><link rel="stylesheet" href="/stylesheets/css.css"><link rel="stylesheet" href="/stylesheets/blitzer/jquery-ui-1.8.10.custom.css"><link rel="stylesheet" href="/stylesheets/table_jui.css"><script type="text/javascript" src="/javascripts/jquery.min.js"></script><script type="text/javascript" src="/javascripts/jquery-ui.min.js"></script><script type="text/javascript" src="/javascripts/jquery.jwNotify.js"></script><script type="text/javascript" src="/javascripts/jquery.dataTables.min.js"></script><script type="text/javascript" src="/javascripts/js.js"></script></head><body></body></html>

在调试源代码时,是否可以看到断行?有人知道如何处理吗?谢谢!

2个回答

15

有时候,你想看到漂亮的HTML输出。为了使你的Jade输出更加清晰易读,你可以在你的app.js中把pretty选项传递给编译器:

app.set('view engine', 'jade');
app.locals.pretty = true;
app.set('view options', { pretty: true });

8
在 Express v3.x 中,请记住需要使用以下代码:app.locals.pretty = true; 这将使内容更易于阅读。 - chilts
如果从 shell 调用 jade,您还可以使用 --pretty 开关。 - Pete

7
因为Jade默认不将任何换行符编译到您的HTML源代码中。
这只会向客户端发送不必要的字节,降低下载速度并增加带宽消耗。
类似问题:Express和漂亮的HTML

谢谢,我现在明白了 :) - ayk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接