我知道這已經被問了一個很長前一段時間,但沒有人在這篇文章中顯示出答案。所以我會在這裏做。爲了確保每個人都在同一頁面上,我會在我的答案中詳細說明。如果看起來過於簡單,我會提前道歉。
在您的server.js文件(或app.js,無論您將handlebars定義爲視圖引擎的位置)中。根據您使用的npm包,如hbs或express-handlebars等,它可能看起來不同,但與此類似。注意:在這個例子中我使用了express-handlebars。
file:server。JS
...
var express = require('express'),
hbs = require('express-handlebars'),
app = express();
...
app.engine('hbs', hbs({
extname: 'hbs',
defaultLayout: 'main',
layoutsDir: __dirname + '/views/layouts/',
partialsDir: __dirname + '/views/partials/'
}));
app.set('view engine', 'hbs');
...
和文件結構應該是這個樣子:
| /views/
|--- /layouts/
|----- main.hbs
|--- /partials/
|----- header.hbs
|----- footer.hbs
|----- ... etc.
|--- index.hbs
| server.js
和你main.hbs文件應該是這樣的:
文件:main.hbs
...
{{> header }}
...
<span> various other stuff </span>
...
{{> footer }}
爲了表示部分你使用此語法:{{> partialsNames }}
。
這並沒有真正回答這個問題......什麼建議代碼結構,實現了OP的場景? – 2014-06-11 21:56:23
根本沒有回答這個問題。 – 2014-11-27 14:35:05