1. Redirections
Parfois, vous pouvez avoir besoin de faire des redirections en fonction de certaines informations.
Pour cela, SvelteKit met à votre disposition un utilitaire redirect
à importer depuis le module
@sveltejs/kit
. Vous pouvez utiliser cette fonction dans les fonctions load
, dans les action
s
de formulaire des fichiers +page.server.ts
, ou dans les fonctions de endpoint des fichiers
+server.ts
.
// +page.server.ts de la route /user par exemple
import { redirect } from '@sveltejs/kit';
export function load() {
// on suppose qu'on récupère des données sur l'utilisateur dans la variable `connected`
if (!connected) {
redirect(307, '/');
}
return {};
}
Vous devez fournir 2 choses à redirect
:
- un code d'erreur (généralement
301
,302
,307
ou308
) - une URL cible
Utiliser
redirect()
revient à utiliserthrow
.
Notez que ces redirections sont des redirections serveur : la redirection se fait avant d'atteindre le navigateur. Il est également possible de rediriger depuis le routeur client (c'est-à-dire depuis le navigateur), mais il faut utiliser une autre méthode :
goto
.