使用expressjs在子目录中的视图

n0p*_*0pe 10 model-view-controller node.js express

我有一个非常基本的expressjs应用程序,其中包含/加载视图的路径views/main/.但是,我收到以下错误:

Error: Failed to lookup view "main/index" in views directory "/Users/n0pe/Sync/src/proj/views/"
Run Code Online (Sandbox Code Playgroud)

这是我的结构(省略不重要):

/proj
  /views
    /main
      index.hbs
  app.js
Run Code Online (Sandbox Code Playgroud)

这是我的app.js(重要部分):

var express = require('express');
var app     = express();
app.set('views',        __dirname+'/views/');
app.set('view engine',  'handlebars');
Run Code Online (Sandbox Code Playgroud)

这是控制器:

router.get('/', function(req, res, next) {
    res.render('main/index', {title: 'test'});
});
Run Code Online (Sandbox Code Playgroud)

这个非常基本的设置缺少什么?

Dev*_*ien 7

我在本地进行了测试,一切正常。只是一个错误

app.set('view engine', 'handlebars');app.set('view engine', 'hbs');

我的例子

var express = require('express'),
    app = express();

app.engine('html', require('hbs').__express);
app.set('views', __dirname+'/views/');
app.set('view engine', 'hbs');

app.get('/', function(req, res) {
    res.render('main/index',{title :"page index"});
  });

app.listen(3000);
Run Code Online (Sandbox Code Playgroud)