2017-09-02 131 views
1

有沒有任何理由爲什麼Koa被執行兩次每個請求?Koa正在執行兩次每個請求?

const Koa = require('koa') 
const app = new Koa() 

const index = async(ctx, next) => { 
    console.log('Hello world!') 
    await next() 
    ctx.body = 'Hello world!' 
} 

app.use(index); 

app.listen(3000) 

在我的終端,我得到:

Hello world! 
Hello world! 

任何想法?

+0

猜:'/ favicon.ico' – robertklep

+0

@robertklep我該如何解決這個問題? – laukok

+1

爲'/ favicon.ico'添加一個處理程序。或者這:https://stackoverflow.com/a/13416784 – robertklep

回答

2

有兩個原因,這可能發生:

首先IST - 如在瀏覽器也火了favicon.ico的 第二請求的意見已經提到:有些瀏覽器做了prefentching,所以之前,你甚至打返回鍵,它們在進入時預取URL。

const Koa = require('koa') 
const app = new Koa() 

const index = async(ctx, next) => { 
    console.log('URL --> ' + ctx.request.url); // This logs out the requested route 
    console.log('Hello world!') 
    await next() 
    ctx.body = 'Hello world!' 
} 

app.use(index); 

app.listen(3000) 

我在代碼中添加了一行代碼,以便您可以查看瀏覽器要求的路由。這可能有助於找出問題的原因。

+0

感謝您的回答! – laukok