You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: en/guide/routing.md
+51-51
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,13 @@
1
1
---
2
-
title: Routing
3
-
description: Nuxt.js use the file-system to generate the routes of your web applications, it's as simple as PHP to create routes.
2
+
title: Routage
3
+
description: Nuxt.js utilise le système de fichiers pour générer les routes de votre application web, c'est aussi simple qu'en PHP de créer des routes.
4
4
---
5
5
6
-
> Nuxt.js generates automatically the [vue-router](https://github.com/vuejs/vue-router)configuration according to your file tree of Vue files inside the `pages` directory.
6
+
> Nuxt.js génère automatiquement la configuration pour [vue-router](https://github.com/vuejs/vue-router)en fonction de votre arborescence de fichiers Vue se trouvant au sein du répertoire `pages`.
7
7
8
-
## Basic Routes
8
+
## Routes basiques
9
9
10
-
This file tree:
10
+
Cette arborescence :
11
11
12
12
```bash
13
13
pages/
@@ -17,7 +17,7 @@ pages/
17
17
--| index.vue
18
18
```
19
19
20
-
will automatically generate:
20
+
génèrera automatiquement :
21
21
22
22
```js
23
23
router: {
@@ -41,11 +41,11 @@ router: {
41
41
}
42
42
```
43
43
44
-
## Dynamic Routes
44
+
## Routes dynamiques
45
45
46
-
To define a dynamic route with a param, you need to define a .vue file OR a directory **prefixed by an underscore**.
46
+
Pour définir une route dynamique à l'aide d'un paramètre, vous devez définir un fichier `.vue` OU un répertoire **préfixé par un souligné (`_`)**.
47
47
48
-
This file tree:
48
+
Cette arborescence :
49
49
50
50
```bash
51
51
pages/
@@ -57,7 +57,7 @@ pages/
57
57
--| index.vue
58
58
```
59
59
60
-
will automatically generate:
60
+
génèrera automatiquement :
61
61
62
62
```js
63
63
router: {
@@ -86,38 +86,38 @@ router: {
86
86
}
87
87
```
88
88
89
-
As you can see the route named`users-id`has the path`:id?`which makes it optional, if you want to make it required, create an `index.vue`file in the`users/_id` directory.
89
+
Comme vous pouvez le voir, la route nommée`users-id`contient le chemin`:id?`ce qui le rend optionnel. Si vous voulez le rendre obligatoire, créez un fichier `index.vue`dans le dossier`users/_id`.
90
90
91
-
<pclass="Alert Alert--info">Warning: dynamic routes are ignored by the `generate` command: [API Configuration generate](/api/configuration-generate#routes)</p>
91
+
<pclass="Alert Alert--info"><b>Attention :</b> les routes dynamiques sont ignorées par la commande `generate` : [ Configuration de l'API pour la génération](/api/configuration-generate#routes)</p>
92
92
93
-
### Validate Route Params
93
+
### Validation des paramètres de route
94
94
95
-
Nuxt.js lets you define a validator method inside your dynamic route component.
95
+
Nuxt.js vous permet de définir une méthode de validation dans votre composant de routage dynamique.
96
96
97
-
In this example: `pages/users/_id.vue`
97
+
Par exemple : `pages/users/_id.vue`
98
98
99
99
```js
100
100
exportdefault {
101
101
validate ({ params }) {
102
-
//Must be a number
102
+
//Doit être un nombre
103
103
return/^\d+$/.test(params.id)
104
104
}
105
105
}
106
106
```
107
107
108
-
If the validate method does not return `true`, Nuxt.js will automatically load the 404 error page.
108
+
Si la méthode de validation ne renvoie pas `true`, Nuxt.js chargera automatiquement la page d'erreur 404.
109
109
110
-
More information about the validate method: [API Pages validate](/api/pages-validate)
110
+
Plus d'informations à propos de la méthode de validation : [API pour la validation de pages](/api/pages-validate)
111
111
112
-
## Nested Routes
112
+
## Routes imbriquées
113
113
114
-
Nuxt.js lets you create nested route by using the children routes of vue-router.
114
+
Nuxt.js vous permet de créer des routes imbriquées en utilisant les routes enfants de vue-router.
115
115
116
-
To define the parent component of a nested route, you need to create a Vue file with the **same name as the directory**which contain your children views.
116
+
Pour définir le composant parent d'une route imbriquée, vous devez créer un fichier Vue avec le **même nom que le répertoire**qui contient les vues enfants.
117
117
118
-
<pclass="Alert Alert--info">Don't forget to write `<nuxt-child/>` inside the parent component (.vue file).</p>
118
+
<pclass="Alert Alert--info"><b>Attention :</b> n'oubliez pas d'écrire `<nuxt-child/>` au sein du composant parent (fichier <code>.vue</code>).</p>
119
119
120
-
This file tree:
120
+
Cette arborescence :
121
121
122
122
```bash
123
123
pages/
@@ -127,7 +127,7 @@ pages/
127
127
--| users.vue
128
128
```
129
129
130
-
will automatically generate:
130
+
génèrera automatiquement :
131
131
132
132
```js
133
133
router: {
@@ -152,11 +152,11 @@ router: {
152
152
}
153
153
```
154
154
155
-
## Dynamic Nested Routes
155
+
## Routes dynamiques imbriquées
156
156
157
-
This scenario should not often happen, but it is possible with Nuxt.js: having dynamic children inside dynamic parents.
157
+
Ce scénario ne devrait pas arriver souvent, mais il est possible avec Nuxt.js d'avoir des routes dynamiques enfants dans des routes dynamiques parentes.
158
158
159
-
This file tree:
159
+
Cette arborescence :
160
160
161
161
```bash
162
162
pages/
@@ -170,7 +170,7 @@ pages/
170
170
--| index.vue
171
171
```
172
172
173
-
will automatically generate:
173
+
génèrera automatiquement :
174
174
175
175
```js
176
176
router: {
@@ -213,25 +213,25 @@ router: {
213
213
214
214
## Transitions
215
215
216
-
Nuxt.js uses the [<transition>](http://vuejs.org/v2/guide/transitions.html#Transitioning-Single-Elements-Components)component to let you create amazing transitions/animations between your routes.
216
+
Nuxt.js utilise le composant [`<transition>`](http://vuejs.org/v2/guide/transitions.html#Transitioning-Single-Elements-Components)afin de vous permettre de créer de superbes transitions / animations entre vos routes.
217
217
218
-
### Global Settings
218
+
### Paramètres globaux
219
219
220
-
<pclass="Alert Alert--info">Nuxt.js default transition name is `"page"`.</p>
220
+
<pclass="Alert Alert--nuxt-green"><b>Info :</b> dans Nuxt.js, le nom de la transition par défaut est `"page"`.</p>
221
221
222
-
To add a fade transition to every page of your application, we need a CSS file that is shared across all our routes, so we start by creating a file in the `assets` folder.
222
+
Pour ajouter une transition de fondu à chaque page de votre application, nous avons besoin d'un fichier CSS qui est partagé sur toutes nos routes. Commençons par créer un fichier dans le dossier `assets`.
223
223
224
-
Our global css in `assets/main.css`:
224
+
Notre CSS global dans `assets/main.css`:
225
225
```css
226
226
.page-enter-active, .page-leave-active {
227
227
transition: opacity .5s;
228
228
}
229
-
.page-enter, .page-leave-to {
229
+
.page-enter, .page-leave-active {
230
230
opacity: 0;
231
231
}
232
232
```
233
233
234
-
We add its path in our `nuxt.config.js`file:
234
+
Nous ajoutons son chemin dans notre fichier de configuration `nuxt.config.js` :
235
235
```js
236
236
module.exports= {
237
237
css: [
@@ -240,13 +240,13 @@ module.exports = {
240
240
}
241
241
```
242
242
243
-
More information about the transition key: [API Configuration transition](/api/pages-transition)
243
+
Plus d'informations à propos des transitions : [Configuration de l'API pour les transitions](/api/pages-transition)
244
244
245
-
### Page Settings
245
+
### Paramètres des pages
246
246
247
-
You can also define a custom transition for only one page with the `transition` property.
247
+
Vous êtes également libre de définir une transition personnalisée pour une seule page à l'aide de la propriété `transition`.
248
248
249
-
We add a new class in our global css in `assets/main.css`:
249
+
Nous ajoutons une nouvelle classe dans notre CSS global `assets/main.css`:
250
250
```css
251
251
.test-enter-active, .test-leave-active {
252
252
transition: opacity .5s;
@@ -256,35 +256,35 @@ We add a new class in our global css in `assets/main.css`:
256
256
}
257
257
```
258
258
259
-
then, we use the transition property to define the class name to use for this page transition:
259
+
puis, nous utilisons la propriété transition pour définir le nom de la classe à utiliser pour cette transition de page :
260
260
```js
261
261
exportdefault {
262
262
transition:'test'
263
263
}
264
264
```
265
265
266
-
More information about the transition property: [API Pages transition](/api/pages-transition)
266
+
Plus d'informations à propos de la propriété transition : [API pour la transition de pages](/api/pages-transition)
267
267
268
268
## Middleware
269
269
270
-
> Middleware lets you define custom functions that can be run before rendering either a page or a group of pages.
270
+
> Le middleware vous permet de définir une fonction personnalisée qui sera exécutée avant le rendu d'une page ou d'un groupe de pages.
271
271
272
-
**Every middleware should be placed in the `middleware/` directory.**The filename will be the name of the middleware (`middleware/auth.js`will be the`auth` middleware).
272
+
**Tous les middlewares devraient être placés dans le répertoire `middleware/`.**Le nom du fichier étant le nom du middleware (`middleware/auth.js`deviendra le middleware`auth`).
273
273
274
-
A middleware receives [the context](/api/context)as first argument:
274
+
Un middleware reçoit [le contexte](/api#context)comme premier argument:
0 commit comments