使用 'koa-static'、app.use(serve('public')) 会抛出“需要生成器函数”错误消息

Using 'koa-static', app.use(serve('public')) throws a “requires a generator function” error msg

var serve = require('koa-static');
var koa = require('koa');
var app = koa();                              
app.use(serve(__dirname + '/public')); 

我得到的错误是

AssertionError: app.use() requires a generator function

此处的示例显示使用这种方式https://www.npmjs.com/package/koa-static

这可能是因为您使用的是旧的 Koa v1,它使用中间件的生成器函数。默认情况下,很多中间件现在已经切换到支持 Koa v2,如果你想将它与 Koa v1 一起使用,你需要安装正确版本的中间件。

在这种情况下,你可以这样做:

npm install koa-static@2

安装支持 Koa v1 的旧版本的 koa-static。通常,检查中间件的 GitHub 存储库是个好主意,以便通过查看可用的分支来了解您可以安装哪些版本。