我有一个应用程序,其视图位于如下目录中:
$ ftree ./web/views
| |____views
| | |____index.jade
| | |____404.jade
| | |____partials
| | | |____test.index.jade
| | | |____index.jade
| | | |____test
| | | | |____index.jade ****
| | |____layout.jade
| | |____500.jade
我希望能够在/views/partials/test/index.jade
调用时呈现视图/partials/test/index.jade
。我的路线设置如下:
exports.partials = (req, res)->
filename = req.params.filename
return unless filename # might want to change this
console.log "rendering partial at #{filename}"
res.render "partials/#{filename}"
和
app.configure(->
app.set('port', process.env.PORT || 3001)
app.set('views', __dirname + '/views')
app.set('view engine', 'jade')
...
app.get('/partials/:filename', routes.partials)
这一切都适用于partials/index.jade
,partials/test.index.jade
但它失败(404)partials/test/index.jade
。
我是否必须为每个子目录创建路由/partials
?我想表达在 下渲染任何文件/partials
,因为会有一些文件。我考虑使用静态目录,但看起来静态文件不会通过玉处理器中间件。