我正在關注Steven Senderson關於NodeJS的文章。由於question中建議的Express版本更改,我已經克服了破壞代碼。現在,當我使用localhost:13253
訪問我的index.html
頁面時,它正在呈現index.html
的內容。它不是使用layout.html
來呈現它。我已經從ejs.js
和ejs-middleware
中追蹤到它,也調用了這些函數,但是佈局沒有被應用。該服務器代碼如下:NodeJS ejs模板不使用模板呈現
var express = require('express'),
app = express(),
api = require("./api/server.js"),
ejsm = require('ejs'),
ejsMiddleware = require('ejs-middleware');
app.use('/api', api);
app.use(ejsMiddleware(__dirname + '/Static', 'html', app));
app.use(express.static(__dirname + '/Static'));
app.listen(process.env.port || 12345);
編輯: -
//INDEX.HTML
this is homepage
//layout.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Inventify (alpha)</title>
<script type="text/jscript" src="/scripts/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="/scripts/knockout-2.2.0.js"></script>
<link rel="stylesheet" href="/Styles/app.css"/>
</head>
<body>
<h1 class="site-title">
<a href="/">Iventify<span class="version">(alpha)</span></a>
</h1>
<div class="main-container">
<%- body %>
</div>
</body>
<script type="text/javascript">
alert('from template');
</script>
</html>
你應該發佈你的index.html和layout.html的樣本。佈局處理從Express 2.x顯着變化到3.x.現在視圖引擎支持它,而不是烘焙到Express.js –
@HectorCorrea我已經添加了佈局和索引頁的代碼 – TheVillageIdiot
我懷疑你使用的是Express 3.x,對不對?如果是這樣,問題是對佈局的支持改變了很多。我在這裏寫了關於這個問題http://hectorcorrea.com/blog/using-layouts-with-ejs-in-express-3-x –