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

我有很多麻烦让我的路线正确指导。

这是我的代码:

在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下,我的configuration文件是config / express.js和config / routes.js

在你的routes.js中你没有定义home,所以你肯定会得到未定义的错误。 视图与请求处理程序没有任何关系。 您将在请求处理程序中使用res.render来呈现视图。 请查看express.js指南开始。

你想要做这个吗?

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

如果你的请求处理程序是在单独的模块中,你可以这样做:如果你的home请求处理程序是与routes.js相同的path的home.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视图文件。