Skip to content

Commit 6408a1e

Browse files
Merge branch 'working' into build-config
2 parents 75f1e5b + 09fff3c commit 6408a1e

File tree

3 files changed

+32
-32
lines changed

3 files changed

+32
-32
lines changed

Diff for: en/SUMMARY.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
- [Routage et scission du code](routing.md)
55
- [Récupération de données et état](data.md)
66
- [Hydratation côté client](hydration.md)
7-
- [Introduction à l'empaquetage](bundle-renderer.md)
7+
- [Introduction au moteur de dépaquetage](bundle-renderer.md)
88
- [Configuration de pré-compilation](build-config.md)
99
- [Gestion des CSS (En)](css.md)
1010
- [Gestion des entêtes (En)](head.md)

Diff for: en/bundle-renderer.md

+20-20
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,52 @@
1-
# Introduction à l'empaquetage (En) <br><br> *Cette page est en cours de traduction française. Revenez une autre fois pour lire une traduction achevée ou [participez à la traduction française ici](https://github.com/vuejs-fr/vue-ssr-docs).*
1+
# Introduction au moteur de dépaquetage
22

3-
## Problems with Basic SSR
3+
## Problèmes basiques du SSR
44

5-
Up to this point, we have assumed that the bundled server-side code will be directly used by the server via `require`:
5+
À ce point, nous supposons que le code empaqueté côté serveur sera directement utilisé via `require` :
66

77
``` js
88
const createApp = require('/path/to/built-server-bundle.js')
99
```
1010

11-
This is straightforward, however whenever you edit your app source code, you would have to stop and restart the server. This hurts productivity quite a bit during development. In addition, Node.js doesn't support source maps natively.
11+
Même si c'est simple, à chaque fois que vous éditez votre code source à ce stade, vous devez stopper et redémarrer votre serveur. Cela ralenti quelque peu la productivité pendant le développement. De plus, Node.js ne supporte pas les sources maps nativement.
1212

13-
## Enter BundleRenderer
13+
## Le moteur de dépaquetage
1414

15-
`vue-server-renderer` provides an API called `createBundleRenderer` to deal with this problem. With a custom webpack plugin, the server bundle is generated as a special JSON file that can be passed to the bundle renderer. Once the bundle renderer is created, usage is the same as the normal renderer, however the bundle renderer provides the following benefits:
15+
`vue-server-renderer` fournit une API appelée `createBundleRenderer` pour résoudre ce problème. Avec un plugin webpack personnalisé, le paquetage (« bundle ») serveur est généré comme un fichier JSON spécial qui peut être passé au moteur de dépaquetage (« bundle renderer »). Une fois que le moteur de dépaquetage est créé, l'usage est le même qu'un moteur de rendu, cependant le moteur de dépaquetage fournit les bénéfices suivants :
1616

17-
- Built-in source map support (with `devtool: 'source-map'` in webpack config)
17+
- Support des sources maps inclus (avec `devtool: 'source-map'` dans la configuration de webpack)
1818

19-
- Hot-reload during development and even deployment (by simply reading the updated bundle and re-creating the renderer instance)
19+
- Rechargement à chaud pendant la phase de développement et même de déploiement (en relisant le paquetage mis à jour et en re-créant l'instance du moteur)
2020

21-
- Critical CSS injection (when using `*.vue` files): automatically inlines the CSS needed by components used during the render. See the [CSS](./css.md) section for more details.
21+
- Injection CSS critique (en utilisant les fichiers `*.vue`) : insérer automatiquement dans la sortie le CSS nécéssaire pour les composants pendant le rendu. Voir la section [CSS](./css.md) pour plus de détails.
2222

23-
- Asset injection with [clientManifest](./api.md#clientmanifest): automatically infers the optimal preload and prefetch directives, and the code-split chunks needed for the initial render.
23+
- Injection de fragments avec [clientManifest](./api.md#clientmanifest) : déduire automatiquement le pré-chargement et la récupération des directives, et les fragments scindés requis pour le rendu initial.
2424

2525
---
2626

27-
We will discuss how to configure webpack to generate the build artifacts needed by the bundle renderer in the next section, but for now let's assume we already have what we need, and this is how to create a use a bundle renderer:
27+
Nous allons discuter de la manière de configurer webpack pour générer les artefacts de build nécessaires au moteur de dépaquetage dans la prochaine section, mais pour le moment, imaginons que nous ayons déjà ce dont nous avons besoin. Voici comment créer et utiliser un moteur de dépaquetage :
2828

2929
``` js
3030
const { createBundleRenderer } = require('vue-server-renderer')
3131

3232
const renderer = createBundleRenderer(serverBundle, {
33-
runInNewContext: false, // recommended
34-
template, // (optional) page template
35-
clientManifest // (optional) client build manifest
33+
runInNewContext: false, // recommandé
34+
template, // (optionnel) page de template
35+
clientManifest // (optionnel) manifeste de build client
3636
})
3737

38-
// inside a server handler...
38+
// à l'intérieur du gestionnaire serveur...
3939
server.get('*', (req, res) => {
4040
const context = { url: req.url }
41-
// No need to pass an app here because it is auto-created by
42-
// executing the bundle. Now our server is decoupled from our Vue app!
41+
// Pas besoin de passer l'application ici car elle est automatiquement créée
42+
// à l'exécution du paquetage. Maintenant notre serveur est découplé de notre application Vue !
4343
renderer.renderToString(context, (err, html) => {
44-
// handle error...
44+
// gérér les erreurs...
4545
res.end(html)
4646
})
4747
})
4848
```
4949

50-
When `renderToString` is called on a bundle renderer, it will automatically execute the function exported by the bundle to create an app instance (passing `context` as the argument) , and then render it.
50+
Quand `renderToString` est appelé sur le moteur de dépaquetage, il va automatiquement exécuté la fonction exportée par le paquetage pour créer une instance de l'application (en passant `context` comme argument) puis va en faire le rendu.
5151

52-
Note it's recommended to set the `runInNewContext` option to `false` or `'once'`. See its [API reference](./api.md#runinnewcontext) for more details.
52+
Notons qu'il est recommandé de mettre l'option `runInNewContext` à `false` ou à `'once'`. Plus de détails dans [la référence de l'API](./api.md#runinnewcontext).

Diff for: en/hydration.md

+11-11
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
1-
# Hydratation côté client (En) <br><br> *Cette page est en cours de traduction française. Revenez une autre fois pour lire une traduction achevée ou [participez à la traduction française ici](https://github.com/vuejs-fr/vue-ssr-docs).*
1+
# Hydratation côté client
22

3-
In `entry-client.js`, we are simply mounting the app with this line:
3+
Dans `entry-client.js`, nous montons simplement l'application avec cette ligne :
44

55
``` js
6-
// this assumes App.vue template root element has `id="app"`
6+
// supposons que l'élément racine du template App.vue possède `id="app"`
77
app.$mount('#app')
88
```
99

10-
Since the server has already rendered the markup, we obviously do not want to throw that away and re-create all the DOM elements. Instead, we want to "hydrate" the static markup and make it interactive.
10+
Parceque le serveur a déjà fait le rendu des balises, nous ne voulons évidemment pas tout jeter et recréer l'intégralité des éléments du DOM. À la place, nous voulons « hydrater » les balises statiques et les rendre intéractives.
1111

12-
If you inspect the server-rendered output, you will notice that the app's root element has a special attribute:
12+
Si vous inspectez le rendu en sortie côté serveur, vous remarquerez que l'élément racine a un attribut spécial :
1313

1414
``` js
1515
<div id="app" data-server-rendered="true">
1616
```
1717

18-
The `data-server-rendered` special attribute lets the client-side Vue know that the markup is rendered by the server and it should mount in hydration mode.
18+
L'attribut spécial `data-server-rendered` permet à Vue, depuis le côté client, de savoir quelle balise a été rendue par le serveur et d'être capable de monter l'application en mode hydratation.
1919

20-
In development mode, Vue will assert the client-side generated virtual DOM tree matches the DOM structure rendered from the server. If there is a mismatch, it will bail hydration, discard existing DOM and render from scratch. **In production mode, this assertion is disabled for maximum performance.**
20+
En mode développement, Vue va vérifier que le DOM virtuel généré côté client concorde avec la structure du DOM rendu par le serveur. S'il y a non concordance, il va bypasser l'hydratation, retirer le DOM existant et refaire le rendu depuis le début. **En mode production, ces vérifications sont désactivées pour des performances maximales.**
2121

22-
### Hydration Caveats
22+
### Limitation de l'hydration
2323

24-
One thing to be aware of when using SSR + client hydration is some special HTML structures that may be altered by the browser. For example, when you write this in a Vue template:
24+
Une chose qu'il faut savoir est qu'en utilisant un SSR + une hydratation côté client il y a plusieurs structures HTML spéciales qui sont altérées par le navigateur. Par exemple, quand vous écrivez ceci dans un template Vue :
2525

2626
``` html
2727
<table>
28-
<tr><td>hi</td></tr>
28+
<tr><td>salut</td></tr>
2929
</table>
3030
```
3131

32-
The browser will automatically inject `<tbody>` inside `<table>`, however, the virtual DOM generated by Vue does not contain `<tbody>`, so it will cause a mismatch. To ensure correct matching, make sure to write valid HTML in your templates.
32+
Le navigateur va automatiquement injecter `<tbody>` dans `<table>`. Le DOM virtuel généré par Vue ne va cependant pas contenir `<tbody>`, ce qui va causer une non concordance. Pour assurer une concordance correcte, assurez-vous d'écrire du HTML valide dans vos templates.

0 commit comments

Comments
 (0)