Skip to content

Commit effb22e

Browse files
Merge pull request #15 from vuejs-fr/plugins
Relecture de `plugins`
2 parents 8768bc4 + df2b4f4 commit effb22e

File tree

1 file changed

+29
-29
lines changed

1 file changed

+29
-29
lines changed

en/guide/plugins.md

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
---
22
title: Plugins
3-
description: Nuxt.js allows you to define JavaScript plugins to be run before instantiating the root vue.js application. This is especially helpful when using your own libraries or external modules.
3+
description: Nuxt.js vous permet de définir les plugins JavaScript à exécuter avant d'instancier l'application Vue.js racine. Cela est particulièrement pratique quand vous utilisez vos propres bibliothèques ou modules externes.
44
---
55

6-
> Nuxt.js allows you to define JavaScript plugins to be run before instantiating the root vue.js application. This is especially helpful when using your own libraries or external modules.
6+
> Nuxt.js vous permet de définir les plugins JavaScript à exécuter avant d'instancier l'application Vue.js racine. Cela est particulièrement pratique quand vous utilisez vos propres bibliothèques ou modules externes.
77
8-
<div class="Alert">It is important to know that in any Vue [instance lifecycle](https://vuejs.org/v2/guide/instance.html#Lifecycle-Diagram), only `beforeCreate` and `created` hooks are called **both from client-side and server-side**. All other hooks are called only from the client-side.</div>
8+
<div class="Alert">Il est important de savoir que, dans le [cycle de vie d'une instance de Vue](https://fr.vuejs.org/v2/guide/instance.html#Diagramme-du-cycle-de-vie), les hooks `beforeCreate` et `created` sont appelés **à la fois du côté client et du côté serveur**. Tous les autres *hooks* ne sont appelés que depuis le client.</div>
99

10-
## External Packages
10+
## Modules externes
1111

12-
We may want to use external packages/modules in our application, one great example is [axios](https://github.com/mzabriskie/axios) for making HTTP request for both server and client.
12+
Nous souhaitons utiliser des packages / modules externes dans notre application, un excellent exemple est [axios](https://github.com/mzabriskie/axios) pour les requêtes HTTP depuis le serveur et le client.
1313

14-
We install it via npm:
14+
Nous l'installons via npm :
1515

1616
```bash
1717
npm install --save axios
1818
```
1919

20-
Then, we can use it directly in our pages:
20+
Puis nous pouvons l'utiliser directement dans nos pages :
2121

2222
```html
2323
<template>
@@ -28,15 +28,15 @@ Then, we can use it directly in our pages:
2828
import axios from 'axios'
2929
3030
export default {
31-
async asyncData ({ params }) {
31+
async data ({ params }) {
3232
let { data } = await axios.get(`https://my-api/posts/${params.id}`)
3333
return { title: data.title }
3434
}
3535
}
3636
</script>
3737
```
3838

39-
But there is **one problem here**, if we import axios in another page, it will be included again for the page bundle. We want to include `axios` only once in our application, for this, we use the `build.vendor` key in our `nuxt.config.js`:
39+
Mais il y a **un problème**, si nous importons axios dans une autre page, il sera à nouveau inclus dans le paquetage de la page. Nous voulons inclure `axios` une seule fois dans notre application, pour cela, nous utilisons la clé `build.vendor` dans notre `nuxt.config.js` :
4040

4141
```js
4242
module.exports = {
@@ -46,32 +46,32 @@ module.exports = {
4646
}
4747
```
4848

49-
Then, I can import `axios` anywhere without having to worry about making the bundle bigger!
49+
Je peux ensuite importer `axios` partout sans avoir à m'inquiéter de l'importer plusieurs fois et de rendre le paquetage plus lourd.
5050

51-
## Vue Plugins
51+
## Plugins Vue
5252

53-
If we want to use [vue-notifications](https://github.com/se-panfilov/vue-notifications) to display notification in our application, we need to setup the plugin before launching the app.
53+
Si nous voulons utiliser [vue-notifications](https://github.com/se-panfilov/vue-notifications) pour afficher des notifications dans notre application, nous devons configurer le plugin avant de lancer l'application.
5454

55-
File `plugins/vue-notifications.js`:
55+
Dans `plugins/vue-notifications.js` :
5656
```js
5757
import Vue from 'vue'
5858
import VueNotifications from 'vue-notifications'
5959

6060
Vue.use(VueNotifications)
6161
```
6262

63-
Then, we add the file inside the `plugins` key of `nuxt.config.js`:
63+
Puis nous ajoutons le fichier dans l'attribut `plugins` de `nuxt.config.js` :
6464
```js
6565
module.exports = {
66-
plugins: ['~/plugins/vue-notifications']
66+
plugins: ['~plugins/vue-notifications']
6767
}
6868
```
6969

70-
To learn more about the `plugins` configuration key, check out the [plugins api](/api/configuration-plugins).
70+
Pour en savoir plus sur l'attribut `plugins`, consultez [La propriété `plugins`](/api/configuration-plugins) de l'API.
7171

72-
Actually, `vue-notifications` will be included in the app bundle, but because it's a library, we want to include it in the vendor bundle for better caching.
72+
Acutellement, `vue-notifications` sera inclus dans le paquetage de l'application. Mais comme il s'agit d'une bibliothèque, nous voulons l'inclure dans le paquetage `vendor` pour une meilleure mise en cache.
7373

74-
We can update our `nuxt.config.js` to add `vue-notifications` in the vendor bundle:
74+
Nous pouvons mettre à jour `nuxt.config.js` pour ajouter `vue-notifications` dans le bundle `vendor` :
7575
```js
7676
module.exports = {
7777
build: {
@@ -81,9 +81,9 @@ module.exports = {
8181
}
8282
```
8383

84-
## Inject in $root & context
84+
## Injection dans $root et context
8585

86-
Some plugins need to be injected in the App root to be used, like [vue-18n](https://github.com/kazupon/vue-i18n). Nuxt.js gives you the possibility to export a function in your plugin to receives the root component but also the context.
86+
Plusieurs plugins ont besoin d'être injectés à la racine de l'application pour être utilisés, comme [vue-18n](https://github.com/kazupon/vue-i18n). Nuxt.js vous donne la possibilité d'exporter une fonction dans votre plugin pour recevoir l'instance racine ainsi que le contexte.
8787

8888
`plugins/i18n.js`:
8989
```js
@@ -93,10 +93,10 @@ import VueI18n from 'vue-i18n'
9393
Vue.use(VueI18n)
9494

9595
export default ({ app, store }) => {
96-
// Set i18n instance on app
97-
// This way we can use it in middleware and pages asyncData & fetch
96+
// Appliquer l'instance i18n de l'application
97+
// De cette façon nous pouvons l'utiliser en tant que middleware et pages asyncData & fetch
9898
app.i18n = new VueI18n({
99-
/* vue-i18n options... */
99+
/* options vue-i18n... */
100100
})
101101
}
102102
```
@@ -111,13 +111,13 @@ module.exports = {
111111
}
112112
```
113113

114-
Please take a look at the [i18n example](/examples/i18n) to see how we use it.
114+
Pour voir comment utiliser ce plugin, consultez cet [exemple i18n](/examples/i18n).
115115

116-
## Client-side only
116+
## Côté client uniquement
117117

118-
Some plugins might work **only for the browser**, you can use the `ssr: false` option in `plugins` to run the file only on the client-side.
118+
Certains plugins fonctionnent **uniquement dans un navigateur**. Vous pouvez utiliser l'option `ssr: false` dans `plugins` pour exécuter le fichier uniquement côté client.
119119

120-
Example:
120+
Exemple :
121121

122122
`nuxt.config.js`:
123123
```js
@@ -136,6 +136,6 @@ import VueNotifications from 'vue-notifications'
136136
Vue.use(VueNotifications)
137137
```
138138

139-
In case you need to require some libraries only for the server, you can use the `process.server` variable set to `true` when webpack is creating the `server.bundle.js` file.
139+
Dans le cas où vous devez importer certaines bibliothèques uniquement pour le serveur, vous pouvez utiliser la variable `process.server` définie sur `true` lorsque le serveur web crée le fichier `server.bundle.js`.
140140

141-
Also, if you need to know if you are inside a generated app (via `nuxt generate`), you can check `process.static`, set to `true` during generation and after. To know the state when a page is being server-rendered by `nuxt generate` before being saved, you can use `process.static && process.server`.
141+
Si vous avez besoin également de savoir si vous êtes dans une application générée (via `nuxt generate`), vous pouvez vérifier la propriété `process.static` mise à `true` pendant la génération et après. Pour connaitre dans quel état est une page qui est en train d'être rendue par `nuxt generate` avant d'être sauvée, vous pouvez utilisez `process.static && process.server`.

0 commit comments

Comments
 (0)