Ich installierte Koa, dann installierte Koa-Ansichten. Danach habe ich kopiert Beispiel-Code aus der koa-Ansichten docs und klebte es in index.jsWarum bekomme ich eine Fehlermeldung "app.use() benötigt eine Generatorfunktion" mit koa-views Middleware?
'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'
});
});
Wenn ich versuche node index.js
diesen Code mit Befehl auszuführen bekomme ich einen Fehler:
Was ist das Problem? Warum funktioniert es nicht?
p.s. Versuchen
node version: v6.9.5;
koa version: 1.2.5;
koa-views version: 5.2.0
Thaks viel. Es half! –
Koa 2 verwendet Async-Funktionen anstelle von Generatorfunktionen für seine Middleware. Wenn Sie Middleware wie 'koa-views' verwenden, müssen Sie sicherstellen, dass Sie die richtige Version verwenden, abhängig davon, welche Version von Koa Sie verwenden. 'koa-views @ 4.1.0 @' verwendet immer noch Generatorfunktionen für seine Middleware, weshalb es hier funktioniert. – saadq