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
Node.js和Express的基本模板类似于Django_Node.js_Django_Express - Fatal编程技术网

Node.js和Express的基本模板类似于Django

Node.js和Express的基本模板类似于Django,node.js,django,express,Node.js,Django,Express,在Django中,有一个非常有用的工具,即使用基本模板来处理navbar之类的内容,这使得开发速度非常快,而且还避免了大量冗余代码,因为我们可以忽略在web应用程序的不同页面中每次都包含navbar之类的内容。另外,如果要在navbar中进行任何更改,我不需要在任何地方都进行更改,只需要在基本模板中进行更改。我想知道Node.js+Express是否有类似的功能。前端框架(如Angular)充当我们的模板引擎。如果您没有使用任何前端框架作为angular/react,那么可以使用node.js/

在Django中,有一个非常有用的工具,即使用基本模板来处理navbar之类的内容,这使得开发速度非常快,而且还避免了大量冗余代码,因为我们可以忽略在web应用程序的不同页面中每次都包含navbar之类的内容。另外,如果要在navbar中进行任何更改,我不需要在任何地方都进行更改,只需要在基本模板中进行更改。我想知道Node.js+Express是否有类似的功能。

前端框架(如Angular)充当我们的模板引擎。如果您没有使用任何前端框架作为angular/react,那么可以使用node.js/express.js使用EJS这样的模板引擎,而且设置起来也非常简单。您可以创建并包含站点的可重复部分,如页眉、菜单部分、边栏、主体部分或页脚等

例如,位于“views/pages/index.ejs”的以下文档/主索引页在“views/pages/index.ejs”的head标记中包括位于“partials/head.ejs”的head部分,同样也包括header和footer部分

<!-- views/pages/index.ejs -->

<!DOCTYPE html>
<html lang="en">
<head>
    <% include ../partials/head %>
</head>
<body class="container">

<header>
    <% include ../partials/header %>
</header>

<main>
    <div class="jumbotron">
        <h1>This is great</h1>
        <p>Welcome to templating using EJS</p>
    </div>
</main>

<footer>
    <% include ../partials/footer %>
</footer>

</body>
</html>

这太棒了
欢迎使用EJS创建模板

您可以创建这样的冗余自定义模板,并在需要时使用它们。 希望这个答案有帮助

Nunjuck更相似。

ex)

{%extends“base.html”%}
{%块头%}
{{title}}
{%endblock%}
{%block content%}
    {名称为%,项目为%}
  • {{name}}:{{item}
  • {%endfor%}
{%endblock%}
非常感谢你,伙计@kavigun!你让我的工作轻松多了。所以现在我可以保留导航栏和其他重复的东西,它们出现在每个页面的部分中,并在需要的地方包括它们,对吗?
{% extends "base.html" %}

{% block header %}
<h1>{{ title }}</h1>
{% endblock %}

{% block content %}
<ul>
  {% for name, item in items %}
  <li>{{ name }}: {{ item }}</li>
 {% endfor %}
</ul>
{% endblock %}