2017-09-02 2 views
1

Y at-il une raison pour laquelle Koa est en cours d'exécution deux fois par demande?Koa est en cours d'exécution deux fois par demande?

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) 

Sur mon terminal, je reçois:

Hello world! 
Hello world! 

Toutes les idées?

+0

Devine: '/ favicon.ico' – robertklep

+0

@robertklep comment résoudre ce problème? – laukok

+1

Ajoutez un gestionnaire pour '/ favicon.ico'. Ou ceci: https://stackoverflow.com/a/13416784 – robertklep

Répondre

2

Il y a deux raisons pour lesquelles cela pourrait se produire:

First ist - comme déjà mentionné dans les commentaires que les navigateurs feu a également une demande de favicon.ico Deuxièmement: certains navigateurs font un prefentching, donc avant même frapper la touche de retour, ils préfèrent l'URL en entrant.

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) 

J'ai ajouté une ligne à votre code pour que vous puissiez voir les routes que votre navigateur vous demande. Cela pourrait aider à identifier la raison de votre problème.

+0

merci pour la réponse! – laukok