【问题标题】:Combining koa-router with koa-handlebar结合 koa-router 和 koa-handlebar
【发布时间】:2015-03-27 22:25:36
【问题描述】:

我正在尝试在 koa 中将 koa-handlebars(服务器端模板引擎)与 koa-router 一起使用。

.get('/', function* () {
    this.body = this.render('myViewHere', {});
})

没有这方面的文档!

唯一的文档是这样的:

app.use(function* () {
    yield this.render('myViewHere', {});
});

【问题讨论】:

    标签: template-engine koa


    【解决方案1】:

    我必须使用路由器上的中间件才能让它工作。

    // more code above...
    var handlebars = require("koa-handlebars");
    var router = require('koa-router');
    
    var myRouter = new router(); 
    
    myRouter.use(handlebars({
        defaultLayout: 'main'
    }));
    
    myRouter.get('/', function* () {
        yield this.render('myView', {});
    })
    // more code below...
    

    【讨论】:

    • 在路由器中间件上不使用有没有其他的渲染方式?
    • @h4ck3d 是的!位于以下链接中的示例中(在usage 下):) github.com/dominicbarnes/koa-handlebars
    • 但这将为所有路线呈现它
    • @h4ck3d 你从来没有说过渲染特定的路由 :) 如果你想渲染特定的路由,你需要一个路由器(这就是路由器的作用)
    【解决方案2】:

    其实我建议你使用 koa-ejs 和 koa。比较受支持的模块,使用方便。

    您可以使用 koa-hbs,但是在使用 partials 时会遇到问题。

    【讨论】:

      猜你喜欢
      • 2020-05-02
      • 1970-01-01
      • 2021-06-29
      • 2015-10-08
      • 1970-01-01
      • 2017-11-30
      • 1970-01-01
      • 1970-01-01
      • 2018-03-27
      相关资源
      最近更新 更多