2017-01-03 13 views
0

Привет, ребята (и девочки) ^^NODE JS - TypeError: Путь должен быть строкой. Получено {запрос

Я использую koa2, koa-router, koa-static (try ..) и не koa-send ... но ничего не работает, и мне нужно ваше Помогите. : D

Так на самом деле, мои JS файлы не найти ... и у меня есть this ...

Так я установил КоА-статические и сделал это:

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 часа я решил изменить для КоА-отправить!

Так я установить новый пакет и я закодировать это на примере ...

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

У кого-то есть идея, пожалуйста? Как я могу сделать эту функцию? Я в отчаянии ... если у вас есть ответ, пожалуйста ...^_^

И счастливый Новый год все: р

EDIT: package.json если вам нужно: "HTTP:" // pastebin.com/cBg73WAF

EDIT²: Srsly, я пробовал каждый пакет и ничего не работает ... Мой проект фактически заблокирован ...

+0

Кто-то может мне помочь? Я действительно в отчаянии с этим koa-send, статическим или каким-то ... – Ravaniss

ответ

0

Прежде всего вы получаете koa deprecated Support for generators will been removed in v3. See the documentation, потому что вы используете koa v2 с koa v1 «совместимым» промежуточным программным обеспечением, но вы можете легко обойти это, используя koa-convert, чтобы преобразовать все generator основаны на новых стандартах async/await и используют его без проблем.

Пример коа преобразования

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

Наконец, я думаю, что вы столкнулись, что вторая ошибка, потому что вы используете serve вместо send и инициирует koa-static вы просто отказались вместо ,

+0

Здравствуйте, спасибо за ответ. Я не думаю, что моя вторая ошибка заключается в том, что я использовал «serve» вместо «send», потому что я просто изменяю имя. 'import * как услуга от« koa-send »;' для экономии времени я изменяю только статическую для отправки и наоборот – Ravaniss

+0

@ Ravaniss ooh .. okay. Вы пробовали сделать какую-то консоль.logs' на то, что вы проходите, чтобы убедиться, что это так, на самом деле то, что вы ищете? Также 'path.join (__ dirname, '/ public')'? – ArchNoob

+0

Я получаю сообщение об ошибке с koa-convert ... 'UnhandledPromiseRejectionWarning: необработанное обещание rejectio n (rejecd: 1): Ошибка: не удается установить заголовки после их отправки. (узел: 164072) Устаревание Предупреждение: необработанные обещания отклонения являются депрекой ted. В будущем обещание отклонения, которое не обрабатывается, закончит процесс Node.js с ненулевым кодом выхода. ' – Ravaniss

 Смежные вопросы

  • Нет связанных вопросов^_^