Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.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
Node.js 如何在Swig中使用多个partials?_Node.js_Express_Swig Template - Fatal编程技术网

Node.js 如何在Swig中使用多个partials?

Node.js 如何在Swig中使用多个partials?,node.js,express,swig-template,Node.js,Express,Swig Template,在我的视图中,Swig不会呈现某些片段。如何通过blocks正确的方法?什么文件应该扩展什么 我的观点是这样的: // files header.html // <- partial header_logo.html // <- partial layout.html // <- layout index.html // <- page header_logo.html如下所示。而这一个没有渲染 {% extends 'layout.html' %}

在我的视图中,Swig不会呈现某些片段。如何通过
block
s正确的方法?什么文件应该扩展什么

我的观点是这样的:

// files
header.html   // <- partial
header_logo.html   // <- partial
layout.html   // <- layout
index.html   // <- page
header_logo.html如下所示。而这一个没有渲染

{% extends 'layout.html' %}

{% block header_logo %}
    ... html code goes here ...
{% endblock %}
每个文件只能扩展一个模板。你想做的事情是这样的

  • index.html
    扩展
    header\u logo.html
  • header\u logo.html
    扩展
    header.html
  • header.html
    扩展
    layout.html
或者,看起来您希望在
index.html
模板中包含
header\u logo
,而不是从中扩展。你最好做这样的事

index.html

{% extends 'layout.html' %}

{% block header %}{% include 'header.html' %}{% end block %}
{% block content %}
    {% include 'header_logo.html' %}
...
{% endblock %}
使用视图文件夹(ExpressJS)下的文件夹 我在views文件夹下创建了一个partials文件夹

然后从reports.swig模板中引用部分视图,如下所示

{% extends 'layout.swig' %}

  {% block content %}

    {% for report in reports %}
      {% include './partials/displayReports.swig' %}
    {% endfor %}

{% endblock %}

谢谢保罗的回答

多谢各位。包括正是我要找的。我不认为这对页眉和页脚都有效。您能否向我们展示您的解决方案如何适用于我们需要在多个区块执行此操作的情况?
{% extends 'layout.html' %}

{% block header_logo %}
    ... html code goes here ...
{% endblock %}
{% extends 'layout.html' %}

{% block header %}{% include 'header.html' %}{% end block %}
{% block content %}
    {% include 'header_logo.html' %}
...
{% endblock %}
{% extends 'layout.swig' %}

  {% block content %}

    {% for report in reports %}
      {% include './partials/displayReports.swig' %}
    {% endfor %}

{% endblock %}