使用 koa2 的 koa-ejs 的推荐代码是什么?

What's the recommend code for koa-ejs using koa2?

我计划在 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 Support for generators will been removed in v3. See the documentation for examples of how to convert old middleware https://github.com/koajs/koa/tree/v2.x#old-signature-middleware-v1x

根据 README:

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);
});

您可以通过将 koa-ejs 更新到 "next" 版本来避免此错误:

$ npm rm -S koa-ejs
$ npm i -S koa-ejs@next
  • rm remove 命令的别名
  • i install 命令的别名
  • -S --save 键的别名