私は通常のnodejsエクスプレスアプリを持っています...
var express = require('express');
var app = express.createServer(
express.bodyParser()
);
app.configure( function () {
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use("/public", express.static(__dirname + '/public'));
});
app.get('/', function (req, res) {
res.render('index');
});
/viewsフォルダーにindex.ejsとlayout.ejsがあります。
layout.ejs:
<!doctype html>
<html lang="en" manifest=""><head>
<title>jQuery Plugin Demo</title>
</head>
<body>
<div class="container container-fluid">
<%- body %>
</div>
</body>
</html>
index.ejs:
Hello world
index.ejsは、周囲のlayout.ejsラッパーなしで「Helloworld」テキストのみをレンダリングします。ejsは機能しています。正しい.ejsテンプレートを見つけることはできますが、レイアウトを無視しているだけです。また、レイアウトファイルをアプリに明示的に追加してみました。
app.set('view options', { layout:'layout.ejs' });
これらはすべてローカルでは正常に機能しますが、Herokuでは機能しません。これが私のpackage.jsonです:
{
"name": "in1-test",
"version": "0.0.1",
"author": "Iatek",
"dependencies": {
"express": ">=2.5.x",
"ejs": ">=0.7.x"
},
"engines": {
"node": "0.6.x"
}
}
なぜレイアウトに喜びがないのですか?ありがとう