0

大家好(和女孩)^^

我正在使用 koa2、koa-router、koa-static(尝试..)并且没有 koa-send ......但没有任何工作,我需要你的帮助。: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个链接锁定我......所以这里是所有东西的代码...... http://pastebin.com/Gmvg5r9F

有人有想法吗?我怎样才能使这个功能?我很绝望……如果你有答案,请……^_^

祝大家新年快乐:p

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

EDIT²:Srsly,我已经尝试了每个包,但没有任何效果......我的项目实际上被阻止了......

4

1 回答 1

0

首先,您得到的koa deprecated Support for generators will been removed in v3. See the documentation是因为您使用的koa v2koa v1“兼容”中间件,但您可以轻松解决这个问题koa-convert,将所有generator基于中间件的中间件转换为新的koa v2async/await 标准并毫无问题地使用它。

koa 转换示例

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

最后,我认为您正面临第二个错误,因为您使用的是serve代替send并且触发了koa-static您刚刚放弃的错误。

于 2017-01-04T11:31:31.260 回答