Meg*_*esh 3 namespaces node.js koa koa2
我想将诸如view和 之类的方法添加json到传递给我的控制器的上下文对象中。我在一个先于其他一切运行的中间件中执行此操作:
async function(ctx, next){
ctx.view = view.bind(ctx);
ctx.json = json.bind(ctx);
await next()
ctx.renderer.render();
}
Run Code Online (Sandbox Code Playgroud)
这些方法设置中间件解释的一些常规配置对象(渲染器),然后通过设置正确的ctx.body. 这使我能够轻松切换模板语言,并更轻松地组合 API 和模板请求。
但它不起作用,因为后面await next()是ctx.renderer默认值,而不是控制器设置的值。我怀疑这是一个命名空间问题,但我不确定它来自哪里。
将函数附加到可以引用上下文而不将其传递给它们的上下文的最佳实践是什么?
| 归档时间: |
|
| 查看次数: |
4094 次 |
| 最近记录: |