大家好(和女生)^^
我正在使用koa2,koa-router,koa-static(试试..)而没有koa-send ......但没有任何工作,我需要你的帮助。 :d
所以事实上,我的js文件找不到... 我有this ...
所以我安装了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,我已经尝试了所有包装但没有任何作用......我的项目实际上已被阻止......
答案 0 :(得分:0)
首先,您获得了koa deprecated Support for generators will been removed in v3. See the documentation
,因为您正在使用koa v2
与koa v1
“兼容”的中间件,但您可以使用koa-convert
轻松解决此问题基于所有generator
的中间件到新的koa v2
async / await标准并使用它没有问题。
koa转换示例
const convert = require('koa-convert');
app.use(convert(serve(__dirname + '/public')));
最后,我认为您正面临第二个错误,因为您使用的是serve
而不是send
而且会触发您刚刚放弃的koa-static
。