用express的res.render(),如何加载views文件夹里面又一文件夹下的模板
发布于 8 年前 作者 GreenyDo 9710 次浏览 来自 问答

用的是express+jade 文件夹目录是这样的 QQ截图20160610162813.png

我知道设置views是这样的 app.set(‘views’, path.join(__dirname, ‘views’)); app.set(‘view engine’, ‘jade’);

要是这样res.render(’/web/nodejs/async_io.jade’); 就不行, 也要设置web/nodejs这个文件夹么? 看了官方文档也没看懂,求大神解答啊!

3 回复

报什么错。。。。你可以在express源码里加断点调试, res.render -> app.render -> 构造View (https://github.com/expressjs/express/blob/master/lib/view.js#L54),应该就是在这一步出错了。加断点调试一下就行了

  1. 说出错了是不够的,要把具体错误贴出来
  2. 我记得sub-folder是支持的,你有没有试过路径’web/nodejs/xxx.jade‘
  3. 你有没有在相应的.jade文件里包括 extend layout …

加上文件夹路径就可以的,res.render(’web/nodejs/async_io);不行吗

回到顶部