Skip to content

Commit 550686b

Browse files
i18n(fr): add modules/astro-static-paths.mdx (#13541)
Co-authored-by: thomasbnt <14293805+thomasbnt@users.noreply.github.com>
1 parent b4b88b4 commit 550686b

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
---
2+
title: Référence de l'API des chemins statiques
3+
sidebar:
4+
label: 'astro:static-paths'
5+
i18nReady: true
6+
tableOfContents:
7+
minHeadingLevel: 2
8+
maxHeadingLevel: 6
9+
---
10+
import ReadMore from '~/components/ReadMore.astro';
11+
import Since from '~/components/Since.astro';
12+
13+
<p><Since v="6.0.0" /></p>
14+
15+
Ce module fournit des utilitaires pour aider les adaptateurs à collecter les chemins statiques depuis leur environnement d'exécution cible (par exemple, `workerd`). Il n'offre une implémentation fonctionnelle que dans l'environnement `prerender` de Vite. Dans les autres environnements, il renvoie une implémentation sans opération.
16+
17+
## Importations depuis `astro:static-paths`
18+
19+
```js
20+
import {
21+
StaticPaths,
22+
} from 'astro:static-paths';
23+
```
24+
25+
### `StaticPaths`
26+
27+
Permet aux adaptateurs de collecter tous les chemins qui doivent être pré-rendus à partir de leur environnement d'exécution cible. Ceci est utile lors de la [mise en œuvre d'un pré-rendu personnalisé](/fr/reference/adapter-reference/#moteur-de-prérendu-personnalisé) exécuté dans un environnement non-Node :
28+
29+
Le constructeur `StaticPaths` accepte un [manifeste SSR](/fr/reference/integrations-reference/#ssrmanifest) obligatoire et un objet décrivant le cache de routes et fournissant une méthode d'accès au composant utilisé pour le rendu de la route. La méthode préférée pour initialiser une instance `StaticPaths` consiste à lui passer une [instance d'application](/fr/reference/modules/astro-app/#linstance-app).
30+
31+
L'exemple suivant initialise une instance `StaticPaths` à partir d'une application dans un point d'entrée de serveur d'adaptateur :
32+
33+
```js title="my-adapter/server.js"
34+
import { createApp } from 'astro/app/entrypoint';
35+
import { StaticPaths } from 'astro:static-paths';
36+
37+
const app = createApp();
38+
const staticPaths = new StaticPaths(app);
39+
40+
export const handler = (event, context) => {
41+
// faire quelque chose avec `staticPaths`
42+
};
43+
```
44+
45+
#### `StaticPaths.getAll()`
46+
47+
<p>
48+
49+
**Type :** <code>() => Promise\<Array\<\{ pathname: string, route: <a href="/fr/reference/integrations-reference/#routedata">RouteData</a> \}\>\></code>
50+
</p>
51+
52+
Récupère tous les chemins qui doivent être pré-rendus. Cette fonction renvoie une promesse qui se résout en un tableau d'objets décrivant le chemin de la route et ses données.
53+
54+
L'exemple suivant collecte tous les chemins statiques à pré-générer avant de les renvoyer en tant que `Response` dans un gestionnaire d'adaptateur :
55+
56+
```js title="my-adapter/handler.js"
57+
import { StaticPaths } from 'astro:static-paths';
58+
59+
export function createHandler(app) {
60+
return async (request) => {
61+
const { pathname } = new URL(request.url);
62+
63+
// Point de terminaison pour collecter les chemins statiques lors de la compilation
64+
if (pathname === '/__astro_static_paths') {
65+
const staticPaths = new StaticPaths(app);
66+
const paths = await staticPaths.getAll();
67+
// Renvoie un tableau de { pathname: string, route: RouteData }
68+
return new Response(JSON.stringify({ paths }));
69+
}
70+
71+
// ... traiter d'autres requêtes
72+
};
73+
}
74+
```

0 commit comments

Comments
 (0)