Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使Jade(Node.js)不';t关闭<;车身>;标签_Node.js_Pug_Template Engine - Fatal编程技术网

如何使Jade(Node.js)不';t关闭<;车身>;标签

如何使Jade(Node.js)不';t关闭<;车身>;标签,node.js,pug,template-engine,Node.js,Pug,Template Engine,我正在尝试将多个数据块发送到客户端,每个数据块都由Express Node.js框架中的Jade模板引擎呈现 我有几个视图,如header、viewA、viewB、viewC等 对于每个请求,我需要呈现标题部分视图并将其作为块发送,以便客户端浏览器开始呈现它。当呈现标题视图时,我不希望内部的标记被关闭,因为更多的数据将会出现,这些数据应该在标记中 同时,我需要做一些计算,然后再渲染另一个视图:A、B或C 发送A、B或C视图后,我关闭响应,这意味着关闭标记 听起来很简单。但问题是,Jade在呈现标

我正在尝试将多个数据块发送到客户端,每个数据块都由Express Node.js框架中的Jade模板引擎呈现

  • 我有几个视图,如header、viewA、viewB、viewC等
  • 对于每个请求,我需要呈现标题部分视图并将其作为块发送,以便客户端浏览器开始呈现它。当呈现标题视图时,我不希望内部的
    标记被关闭,因为更多的数据将会出现,这些数据应该在
    标记中
  • 同时,我需要做一些计算,然后再渲染另一个视图:A、B或C
  • 发送A、B或C视图后,我关闭响应,这意味着关闭
    标记
  • 听起来很简单。但问题是,Jade在呈现标题视图时关闭了
    标记

    我知道如何使用native Node.js响应对象手动执行此操作,但是,我不知道如何使用Jade以正确的方式执行此操作

    我目前看到的唯一解决方案是手动将标题部分发送到open
    标记,然后通过
    res.partial()
    将其余部分呈现为Jade部分

    非常感谢任何提示。

    您可以使用
    输出任何文本(包括原始html)=

    != "<body>"
      some
         more
            tree(attr=1)
    
    !=""
    一些
    更多
    树(attr=1)
    
    结果如下:

    <body>
    <some>
      <more>
        <tree attr="1"></tree>
      </more>
    </some>
    
    
    
    您可以使用
    输出任何文本(包括原始html)=

    != "<body>"
      some
         more
            tree(attr=1)
    
    !=""
    一些
    更多
    树(attr=1)
    
    结果如下:

    <body>
    <some>
      <more>
        <tree attr="1"></tree>
      </more>
    </some>
    

    尽管我可能会接受上面的答案,这个答案似乎有效,但没有。然而,下面的代码确实起了作用

    !!! 5
    <html>
    head
        meta(http-equiv="Content-Type",content="text/html;charset=utf-8")
        meta(http-equiv="Cache-Control", content="no-cache")
        meta(http-equiv="Expires", content="0")
        title= title
        link(rel="shortcut icon",href='/img/nelo2_logo.ico')
        link(rel='stylesheet',href='/css/bootstrap.css')
        link(rel='stylesheet',href='/css/jquery-ui.css')
        link(rel='stylesheet',href='/css/chosen.css')
        link(rel='stylesheet',href='/css/common.css')
        link(rel='stylesheet',href='/css/style.css')
        script(src='/js/core/require.js')
    <body>
    
    !!!5.
    头
    meta(http equiv=“Content Type”,Content=“text/html;charset=utf-8”)
    meta(http equiv=“缓存控制”,content=“无缓存”)
    meta(http equiv=“Expires”,content=“0”)
    头衔
    链接(rel=“快捷方式图标”,href=”/img/nelo2_logo.ico')
    链接(rel='stylesheet',href='/css/bootstrap.css')
    链接(rel='stylesheet',href='/css/jqueryui.css')
    链接(rel='stylesheet',href='/css/selected.css')
    链接(rel='stylesheet',href='/css/common.css')
    链接(rel='stylesheet',href='/css/style.css')
    脚本(src='/js/core/require.js')
    

    因此,解决方案不是缩进
    标记,而是将它们放在同一列上。这样,Jade就不会关闭它们。

    尽管我可能会接受上面的答案,这个答案似乎有效,但没有。然而,下面的代码确实起了作用

    !!! 5
    <html>
    head
        meta(http-equiv="Content-Type",content="text/html;charset=utf-8")
        meta(http-equiv="Cache-Control", content="no-cache")
        meta(http-equiv="Expires", content="0")
        title= title
        link(rel="shortcut icon",href='/img/nelo2_logo.ico')
        link(rel='stylesheet',href='/css/bootstrap.css')
        link(rel='stylesheet',href='/css/jquery-ui.css')
        link(rel='stylesheet',href='/css/chosen.css')
        link(rel='stylesheet',href='/css/common.css')
        link(rel='stylesheet',href='/css/style.css')
        script(src='/js/core/require.js')
    <body>
    
    !!!5.
    头
    meta(http equiv=“Content Type”,Content=“text/html;charset=utf-8”)
    meta(http equiv=“缓存控制”,content=“无缓存”)
    meta(http equiv=“Expires”,content=“0”)
    头衔
    链接(rel=“快捷方式图标”,href=”/img/nelo2_logo.ico')
    链接(rel='stylesheet',href='/css/bootstrap.css')
    链接(rel='stylesheet',href='/css/jqueryui.css')
    链接(rel='stylesheet',href='/css/selected.css')
    链接(rel='stylesheet',href='/css/common.css')
    链接(rel='stylesheet',href='/css/style.css')
    脚本(src='/js/core/require.js')
    

    因此,解决方案不是缩进
    标记,而是将它们放在同一列上。这样,Jade就不会关闭它们。

    这应该适用于哪个版本的Jade?我有0.26.3,上面的语法不起作用:编译错误。对,我就是这么做的。请添加最低版本要求,我将接受您的回答。非常感谢。其在文件中至少保存2年-。(v0.22.1应该足够了)您确定您有超过2年的版本吗?应该使用哪个版本的Jade?我有0.26.3,上面的语法不起作用:编译错误。对,我就是这么做的。请添加最低版本要求,我将接受您的回答。非常感谢。其在文件中至少保存2年-。(v0.22.1应该足够了)您确定您的版本早于2年吗?