首页 > 解决方案 > 为什么我收到错误“需要生成器功能”

问题描述

我通过 npm 安装了模块“koa-cache-control”。我在 index.js 中添加了以下几行。

const cacheControl = require('koa-cache-control');

然后...

app.use(cacheControl({
   noCache: true
}));

这是我在启动节点时遇到的错误。有什么线索吗?

AssertionError: app.use() requires a generator function
at Application.app.use 

(/home/www/node_modules/koa/lib/application.js:106:5)
    at Object.<anonymous> (/home/www/index.js:17:5)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:389:7)
    at startup (bootstrap_node.js:149:9)

谢谢!

标签: javascriptnode.jsexpresskoa

解决方案


您似乎使用的是旧版本的 Koa。1.x 版本使用基于生成器的中间件类型,在版本 2 中更改为 Promises。

您要么必须更新 Koa,要么使用旧版本1.0.0koa-cache-control.


推荐阅读