ExpressJSアプリケーション設定ドキュメントviews
によると、ビューエンジンのディレクトリとして設定できるはずです。バグと思われる現象が発生しています。ディレクトリを検索する代わりにviews
、express はディレクトリを検索しstatic
ます。そこにないので、明らかに失敗します。ビューを静的ディレクトリに移動してこれを確認したところ、エラーはなくなりました。
この Cloud9 プロジェクトのクローンを作成すると、このバグを確認できます。Cloud9 以外ではこのバグを確認できませんでした (利用可能な Linux ボックスがありません)。
ディレクトリ構造はシンプル
事業
|-client
|-assets
|-views
|-index.html
|-server.js
ここにサーバー構成があります
var viewDir = __dirname + '/client/views/';
var assetDir = __dirname + '/client/assets/';
//Configure
app.configure(function() {
app.set('views', viewDir);
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express['static'](assetDir));
app.use(app.router);
});
app.get('/', function(req, res){
res.render('index');
});