如何在express中设置默认视图文件夹?

时间:2013-12-10 08:05:00

标签: node.js express

我在使路线正确导航方面遇到了很多麻烦。

这是我的代码:

在express.js

app.set('views', config.root + '/app/views')
app.set('view engine', 'jade')
在routes.js中

module.exports = function (app) {
  // home route
  app.get('/', home.index)
}

即使我认为我正确设置了视图,我仍然会收到错误,说明未定义主页。任何关于错误可能是什么的想法。

如果有帮助,我的视图的文件结构在app / views下,我的配置文件是config / express.js和config / routes.js

1 个答案:

答案 0 :(得分:1)

在您的routes.js中,您尚未定义主页,因此您肯定会收到未定义的错误。视图与请求处理程序无关。 您将在请求处理程序中使用res.render来呈现视图。请查看express.js指南以开始使用。

你想这样做吗?

module.exports = function (app) {
  // home route
  app.get('/', function(req, res){
    res.render('home');
  });
}

如果您的请求处理程序位于单独的模块中,您可以执行以下操作: 如果你的家庭请求处理程序是home.js在routes.js的相同路径中,你可以执行以下操作。

您的route.js文件

var home = require('./home');//path to your home request handler module
module.exports = function (app) {
  // home route
  app.get('/', home.index)
}

您的home.js文件

exports.index = function(req, res){
  res.render('home/index');
}

您希望在/ app / views / home文件夹中有index.jade视图文件。