使用Hogan.js进行部分

时间:2015-05-02 20:01:54

标签: html node.js layout express hogan.js

我想首先说我是Node.js的新手。

我的问题是这个。有没有一种方法可以将单个布局用于HTML?类似于MCV和ASP中的共享视图主要布局的内容。

例如:

//。 hello_world.hjs

<!DOCTYPE html>
<html>
  <head>
    <title>{{ title }}</title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>
    <h1>{{ title }}</h1>
    <div id="content">
        <!-- Place changing page content here -->
        {{> part }}
    </div>
    <footer>
        {{date}}
    </footer>
  </body>
</html>

//。 hello_world.js

var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('hello_world', { 
    title: 'Hello World!', 
    partials: { 
        part: 'part'
    }
  });
});

//。 part.html

<h1>This is a part</h1>

我只想用id&#34; content&#34;来改变div中的内容。在 hello_world.hjs 中这样,当对页脚或导航栏进行更新时,不必对每个文档进行更改。

文件夹结构 - &gt;

routes
-- hello_world.js

views
--hello_world.hjs
--part.html
--index.hjs

我试过寻找解决方案。但是,我不确定我是否在搜索中使用了正确的术语。

1 个答案:

答案 0 :(得分:1)

必须将part.html重命名为part.hjs。但是,这仍然没有回答整个问题。虽然我现在能够使用partials,但我需要能够使用一致的布局,我不想在JS文件中重复使用,例如:

partials: { 
    part: 'part',
    footer: 'footer'
}

在大型网站上重新打印会变老,变得容易出现拼写错误。