2015-05-02 33 views
1

我想首先說我是Node.js的新手。Particles with Hogan.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> 

我只希望改變與hello_world.hjs這樣,當一個更新到頁腳或導航欄的變化做出榮獲」 id爲「內容」 div的內容不得不對每個文件進行。


文件夾結構 - >

routes 
-- hello_world.js 

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

我試圖尋找解決的辦法。但是,我不確定我是否在搜索中使用了適當的術語。

+0

首先,這實際上與Node.js或Express沒有任何關係,這就是爲什麼你無法找到某些東西。什麼是你的模板引擎?玉?鬍子?這就是你應該尋找的。 Node.js是一個應用程序框架。 Express是一個使用HTTP構建Web應用程序的框架。你的模板引擎是實際處理視圖的東西。 – Brad

+0

此刻我正在使用Hogan模板引擎。我應該使用不同的模板引擎嗎? –

+0

不,你可以使用任何你想要的模板引擎!我只是說,當谷歌搜索,你應該尋找Hogan,而不是Node.js。 – Brad

回答

1

part.html必須重命名爲part.hjs。但是,這仍然不能回答整個問題。雖然我現在可以使用諧音我需要能夠使用一致的佈局,我想不會有重複自己的JS文件,如:

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

重新鍵入跨大網站會變老,容易出現拼寫錯誤。

+0

那麼有沒有一個明確的方式來做到這一點,而無需引用:https://stackoverflow.com/questions/19004391/hogan-js-with-master-pages-or-layouts?rq= 1 –

+0

如果您使用模板動態生成頁面,爲什麼一遍又一遍地輸入?我不認爲你理解使用Hogan或Node.js這一點。這不是一些帶有一點PHP的靜態頁面。 – GifCo