Javascript 如何使用Node js、ExpressJS、hbs或ejs在多页网站的html页面中添加公共页眉和页脚

Javascript 如何使用Node js、ExpressJS、hbs或ejs在多页网站的html页面中添加公共页眉和页脚,javascript,html,node.js,express,Javascript,Html,Node.js,Express,我想创建常见的页眉(导航栏)和页脚页面,以包含在网站的多页/多页中。 使用nodejs和expressjs创建动态网站 将导航栏和页脚的代码放在公共header.html和footer.html中,并在其他html页面中调用或包含此公共页眉/导航栏和页脚html页面 如何使用模板引擎(如hbs或ejs)使用Nodejs和expressJs创建网站 我知道可以使用php或jquery来实现 <html> <head> <title>document</ti

我想创建常见的页眉(导航栏)页脚页面,以包含在网站的多页/多页中。 使用nodejs和expressjs创建动态网站

将导航栏和页脚的代码放在公共header.htmlfooter.html中,并在其他html页面中调用或包含此公共页眉/导航栏和页脚html页面

如何使用模板引擎(如hbs或ejs)使用Nodejs和expressJs创建网站

我知道可以使用php或jquery来实现

<html>
<head>
<title>document</title>

</head>
<body>
<div id="header">navbar</div>

<!--Remaining section-->

<div id="footer">footer</div>
</body>
</html>

文件
导航栏
页脚
但不使用以下方式:

w3学校w3包括

<div w3-include-html="content.html"></div>

PHP

<?php include 'header.php' ?>
    ''Page content''
    <?php include 'footer.php' ?>

“页面内容”
您已经提供了所有(简单的)解决方案。您可以使用:

  • 服务器端的PHP、ASP.NET、JSP等功能,或
  • 客户端JavaScript中的AJAX/XHR/Fetch API功能
  • 据我所知,仅仅使用HTML和JavaScript无法使用纯客户端(在浏览器内部)的“母版页”或“模板页”之类的内容:-(

    以前有一些功能被称为(作为HTML web组件的一部分),但不久前就被放弃了


    如果有一种方法可以做你想做的事,我也会很高兴了解它。:-

    你可以像这样保存你的html文件

    • header.html
      仅包含标题代码
    • footer.html
      仅包含页脚代码
    • content.html
      包含如下内容:

      此处标题 网页内容

    • .htaccess
      文件中

      AddType应用程序/x-httpd-php5.html.htm

    因此,它将把所有html文件解析为PHP文件,并包含和执行所有PHP代码

    如果通过js/jquery加载

    你的html应该是

    <header></header>
    <div class="middle">page content here</div>
    <footer></footer>
    
    <script>
    $(document).ready(function(){
        $('header').load("header.html");
        $('footer').load("footer.html");
    
    
    });
    </script>
    
    
    此处的页面内容
    $(文档).ready(函数(){
    $('header').load(“header.html”);
    $('footer').load(“footer.html”);
    });
    
    您可以使用jspf包含在页面中,但我猜您不想正确使用它。您仍然可以使用frames/iframe。在使用动态后端语言之前,纯html就是这样做的。现在常用的方法是在服务器@Adassko上编写页面。谢谢你的回答和建议,但是需要使用纯javascript/ES6以现代的方式编写。不,非常感谢!。想要使用HTML或纯javascript,或者只使用Node js@NaveedRamzan@Sid我也更新了JQuery的代码。看一看,如果可行的话投票。谢谢。。。要获得答案,可以使用带有es6的NodeJS或ES的最新版本