我有一条活跃的快速路线 - 已经用模板定义了。
app.get('/route', function route(req, res) {
db.get('db_ID', function compileAndRender(err, doc) {
var stream = mu.compileAndRender('theme-file.extension', doc)
stream.pipe(res)
})
})
现在,我希望以后能够在应用程序中更改该路由的视图文件。我该怎么做?
基本上,我怎么告诉快递'/ route'应该有一个新的'theme-file.extension'?
答案 0 :(得分:0)
好的,所以我不得不想出另一种思考问题的方法。我没有手动设置每条路线,而是使用参数变量动态地完成它。
代码如下所示:
//Set up dynamic routes for all pages
app.get('/:page_name', function(req, res) {
db.get('pages_routes', function(err, doc) {
var pure_routes = doc.pure_routes,
requested_page = req.params.page_name,
page_info = _.findWhere(pure_routes, { "url" : requested_page })
if (page_info !== undefined) {
db.get(page_info.id, function compileAndRender(err, doc) {
var stream = mu.compileAndRender(page_info.theme, doc)
stream.pipe(res)
})
} else {
res.redirect('/index.html')
}
})
})
在我看来,这使代码更简洁,更容易使用。如果您有兴趣更多地了解代码,可以查看项目here(如果您看到可以改进的内容,请参与其中)。希望这可以帮助其他人!