2016-05-02 1 views
0

я планируется использование EJS в koa2, мои коды были вроде как blelow:Каков рекомендуемый код для koa-ejs с помощью koa2?

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 не рекомендуется Поддержка генераторов будет удалена в версии 3. Смотрите документацию примеры того, как преобразовать старую MiddleWare https://github.com/koajs/koa/tree/v2.x#old-signature-middleware-v1x

+0

Если вы используете Koa 2, вам следует переключиться с функций генератора на использование 'async/await'. Вы можете узнать больше об этом, перейдя по ссылке, опубликованной в этом предупреждении. – saadq

ответ

1

согласно README:

Обход для Коа 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); 
}); 
0

Вы можете избежать этой ошибки при обновлении КоА-EJS на "следующий" версия:

$ npm rm -S koa-ejs 
$ npm i -S [email protected] 
  • rm псевдоним remove команды
  • i псевдоним install команды
  • -S псевдоним --save ключ