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