0

我计划在 koa2 中使用 ejs,我的代码如下所示:

render(app, {
  root: path.join(__dirname, 'views-ejs'),
  layout: 'layout',
  viewExt: 'ejs',
  cache: false,
  debug: true
});

app.use(function *() {
  yield this.render('index',{
    title: 'koa2 title',
    viewClass: 'landing',
    targetAuthLevel:'',
    authorizationLevel:'6',
    ngController: 'landingController'
  });
});

但是,我收到以下警告,您能告诉我推荐的代码是什么吗?请。

koa deprecated 对生成器的支持将在 v3 中删除。有关如何转换旧中间件的示例,请参阅文档 https://github.com/koajs/koa/tree/v2.x#old-signature-middleware-v1x

4

2 回答 2

1

根据自述文件

Koa 2 的解决方法

npm install co --save

然后...

import co from 'co';
import render from 'koa-ejs';

render(app, options);
app.context.render = co.wrap(app.context.render);

app.use(async (ctx, next) => {
    await ctx.render(view, locals);
});
于 2016-05-09T16:10:29.987 回答
0

您可以通过将 koa-ejs 更新到“下一个”版本来避免此错误:

$ npm rm -S koa-ejs
$ npm i -S koa-ejs@next
  • rmremove命令的别名
  • iinstall命令的别名
  • -S--save密钥的别名
于 2016-07-28T11:56:41.053 回答