Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.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
将把手HTML分隔为多个文件/部分_Html_Node.js_Express_Handlebars.js - Fatal编程技术网

将把手HTML分隔为多个文件/部分

将把手HTML分隔为多个文件/部分,html,node.js,express,handlebars.js,Html,Node.js,Express,Handlebars.js,我想创建一个只有一个路由的页面,但我想将HTML代码分割成多个文件 当呈现此路由时,我希望呈现的文件从所有模板文件中获取内容,并将其合并到一个页面 例如,此模板应呈现以下文件: 标题 简介 服务 关于 联系 铭刻 我只想把代码分开,因为这样我可以建立一个干净的结构。可能吗?目前我只能渲染一个文件 router.get('/', (req, res) => { res.render('myTemplate'); }); 如果可以使用默认HTML逻辑,我不需要使用手柄,因为我的页面只

我想创建一个只有一个路由的页面,但我想将HTML代码分割成多个文件

当呈现此路由时,我希望呈现的文件从所有模板文件中获取内容,并将其合并到一个页面

例如,此模板应呈现以下文件:

标题 简介 服务 关于 联系 铭刻 我只想把代码分开,因为这样我可以建立一个干净的结构。可能吗?目前我只能渲染一个文件

router.get('/', (req, res) => {
    res.render('myTemplate');
});

如果可以使用默认HTML逻辑,我不需要使用手柄,因为我的页面只有一个模板。

假设您希望呈现一个文件,该文件是主文件,其中包括页眉和页脚文件。让我们将主文件main.hbs和页眉和页脚html文件分别称为header.html和footer.html

<h1> Hi I'm the Footer </h1>
您的路线代码如下所示:

    router.get('/', (req, res) => {
    res.render('main');
});
header.html

<h1> Hi I'm the Header </h1>
footer.html

<h1> Hi I'm the Footer </h1>
您可以使用jQuery在main中包含页眉和页脚模板

main.hbs

<html>
<head>
<title></title>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script> 
$(function(){
  $("#header").load("header.html"); 
  $("#footer").load("footer.html"); 
});
</script> 
</head>
<body>
<div id="header"></div>
<!--Remaining section-->
<div id="footer"></div>
</body>
</html>

同样,您可以通过指定其id将简介、服务、关于、联系人和印记文件包含在主文件中。

因此无法在服务器端执行此操作?因为我得到这个错误,加载失败file:///C:/.../header.html: 跨源请求仅支持协议方案:http、data、chrome、chrome扩展名、https。chrome使用file:protocol阻止请求。你试过在Firefox上运行它吗?