2017-02-11 5 views
0

私はkoaをインストールしてから、koa-viewsをインストールしました。koa-viewsミドルウェアを使用して「app.use()にジェネレータ関数が必要」というエラーが表示されるのはなぜですか?

enter image description here

:私はコマンド node index.jsでこのコードを実行しようとすると その後、私はKOA-ビューのドキュメントからのサンプルコードをコピーしてindex.jsにそれを貼り付けるには

'use strict'; 

const koa = require('koa'); 
const app = koa(); 

var views = require('koa-views'); 

// Must be used before any router is used 
app.use(views(__dirname + '/views', { 
    map: { 
     html: 'underscore' 
    } 
})); 
app.use(function* (next) { 
    this.state = { 
     session: this.session, 
     title: 'app' 
    }; 
    yield this.render('user', { 
     user: 'John' 
    }); 
}); 

私はエラーを取得します

何が問題なのですか?それはなぜ機能しないのですか?

p.s.

node version: v6.9.5; 
koa version: 1.2.5; 
koa-views version: 5.2.0 

答えて

0

npm install [email protected]をインストールしてみると、新しいバージョンと異なる可能性があるようです。私が解決策を得た場所については、hereを参照してください。

私はそれを試みましたが、私はもはやエラーを受け取りませんでした。

+1

タックスが多いです。それは助けになった! –

+2

Koa 2はミドルウェアにジェネレータ関数の代わりに 'async'関数を使用します。 'koa-views'のようなミドルウェアを使用する場合は、使用しているKoaのバージョンに応じて適切なバージョンを使用するようにする必要があります。 'koa-views @ 4.1.0 @'はまだミドルウェアのジェネレータ関数を使用しています。 – saadq

関連する問題