Node.js NODE JS-TypeError:路径必须是字符串。收到{请求

Node.js NODE JS-TypeError:路径必须是字符串。收到{请求,node.js,typescript,koa,koa2,Node.js,Typescript,Koa,Koa2,大家好,小伙子们(和姑娘们)^^ 我正在使用koa2、koa路由器、koa静态(尝试…)和无koa发送…但没有任何效果,我需要您的帮助。:D 所以事实上,我的js文件找不到。。。 我有 因此,我安装了koa static并执行了以下操作: app.use(serve(__dirname + '/public')); 但出现了这样一个问题: koa deprecated Support for generators will been removed in v3. See the documen

大家好,小伙子们(和姑娘们)^^

我正在使用koa2、koa路由器、koa静态(尝试…)和无koa发送…但没有任何效果,我需要您的帮助。:D

所以事实上,我的js文件找不到。。。 我有

因此,我安装了koa static并执行了以下操作:

app.use(serve(__dirname + '/public'));
但出现了这样一个问题:

koa deprecated Support for generators will been removed in v3. See the documentation for examples of how to convert old middleware //github.com/koajs/koa/tree/v2.x#old-signature-middleware-v1x server.js:18:5
我不记得我试过什么了,但什么都没用……3个小时后,我决定换成koa send

因此,我安装了新的软件包,并根据示例编写了代码

app.use(async function(ctx){
    await serve(ctx, ctx.path, { root: __dirname + '/public' });
});
现在我得到

TypeError: Path must be a string. Received { request:
感谢stackoverflow,因为声誉原因用2个链接锁定了我。。。。 所以这里是一切的代码

有人有主意了吗?我怎样才能使这个功能正常?我很绝望…如果你有答案,请…^ u^

祝大家新年快乐:p

编辑:package.json(如果需要):“http://pastebin.com/cBg73WAF


编辑²:斯利,我尝试了所有的软件包,但没有任何效果…我的项目实际上被阻止了…

首先,您得到的是
koa对生成器的不推荐支持将在v3中删除。请参阅文档
,因为您使用的是
koa v2
koa v1
“兼容”中间件,但您可以使用
koa convert
轻松解决这一问题,将所有基于
generator
的中间件转换为新的
koa v2
异步/等待标准,并毫无问题地使用它

<强>膝关节炎转换< <强>

的例子
const convert=require('koa-convert');

app.use(convert(service(uu dirname+/public));
您好,谢谢您的回答。我不认为我的第二个错误是因为我使用了“service”而不是“send”,因为我只是修改了名称。
import*作为“koa send”中的service;
为了节省时间,我只修改了send和vice的staticversa@Ravaniss哦..好的。你有没有试过做一些
控制台。记录你正在传递的内容,以确保它确实是你正在寻找的?还有
路径。加入(uu dirname,/public)
?我收到koa convert错误…`UnhandledPromiseRejectionWarning:Unhandled PROMISER REJECTION n(rejecd:1):错误:发送头后无法设置头。(节点:164072)弃用警告:未经处理的承诺拒绝将被弃用。将来,未经处理的承诺拒绝将以非零退出代码终止Node.js进程。`@ravanis我已更新了上面的评论。^此外,您应该更新您的问题,并在代码中包含更多的代码示例。您已经准备好了所有内容粘贴库。是的,路径很好,有
path.join(uu dirname,/public');
我已经用这个更新了我的代码,更清楚。有人能帮我吗?我真的很想用这个koa发送,静态的或其他的。。。