Im Express können wir einfach folgende Codes verwenden, um mit der Anfrage umzugehen. Die Serverseite sendet index.html, wenn die Anfrage nicht vom Router bearbeitet wird.Wie Browserhistorie in Reagieren Router mit Koa verwenden
app.get('*', function (request, response){
response.sendFile(path.resolve(__dirname, '../public', 'index.html'))
})
Aber in koa funktioniert der folgende Code nicht. Wenn die Anfrage nicht von koa-router bearbeitet wird, wird 404 anstelle von index.html zurückgegeben.
var send = require('koa-send')
var serve = require('koa-static')
var router = require('koa-router')
var koa = require('koa')
var app = koa();
app.use(serve(__dirname+'/../public'));
app.use(function *(){
yield send(this, path.join(__dirname, '/../public/','index.html')); })
app.use(router.routes())
folgenden Code auch nicht funktionieren
router
.get('*', function*() {
yield send(this, __dirname +'/../public/index.html')
})
Könnten Sie definieren * "nicht funktionieren" *? Wirft es Fehler? Tut es nichts? Gibt es Bilder von Rick Astley zurück? – ivarni
@ivarni Sorry für das Fehlen der klaren Informationen. Ich habe die Frage gerade aktualisiert. – fiona