Skip to content

Commit d7406e1

Browse files
sir-kainMachinisteWeb
authored andcommitted
Traduction de components-registration.md (#145)
* Update components-registration.md Quelques mises à jour sur ce fichier * Corrections des remarques du PR #145 * Mise à jour de la partie "Name Casing" * Mise à jour de la partie "Global Registration" * Update components-registration.md * MAJ partielle de la partie systèmes de module * MAJ de la deuxième partie systèmes de module * Abréviation de par exemple en ex. * Correction fautes de frappe * Mise à jours après les reviews * Rectification d'erreurs * Corrections après reviews de rspt * Correction d'orthographe du mot chaîne * Changement de du mot "chaîne" en "chaine" * Changer "Avec" en "En" avant "PascalCase | kebab-case"
1 parent a4be3db commit d7406e1

File tree

1 file changed

+49
-49
lines changed

1 file changed

+49
-49
lines changed
+49-49
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,56 @@
11
---
2-
title: Component Registration (EN)
2+
title: Création de composants
33
type: guide
44
order: 101
55
---
66

7-
> This page assumes you've already read the [Components Basics](components.html). Read that first if you are new to components.
7+
> Cette page suppose que vous avez déjà lu les principes de base des [composants](components.html). Lisez cela en premier si vous êtes nouveau aux composants.
88
9-
## Component Names
9+
## Les noms de composant
1010

11-
<p>Cette page est en cours de traduction. Pour nous aider, vous pouvez participer sur <a href="https://github.com/vuejs-fr/vuejs.org" target="_blank">le dépôt GitHub dédié de Vuejs-FR</a>.</p><p>When registering a component, it will always be given a name. For example, in the global registration we've seen so far:</p>
11+
Lors de la création de composants, il faudra toujours spécifier un nom. Par exemple, la déclaration se fera comme suit :
1212

1313
```js
1414
Vue.component('my-component-name', { /* ... */ })
1515
```
1616

17-
The component's name is the first argument of `Vue.component`.
17+
Le nom du composant est le premier argument de `Vue.component`.
1818

19-
The name you give a component may depend on where you intend to use it. When using a component directly in the DOM (as opposed to in a string template or [single-file component](single-file-components.html)), we strongly recommend following the [W3C rules](https://www.w3.org/TR/custom-elements/#concepts) for custom tag names (all-lowercase, must contain a hyphen). This helps you avoid conflicts with current and future HTML elements.
19+
Le nom que vous donnez à un composant peut dépendre de l'endroit où vous avez l'intention de l'utiliser. Lorsque vous utilisez un composant directement dans le DOM (par opposition à une chaine ou un [composant monofichiers](single-file-components.html)), nous vous recommandons fortement de suivre [les règles du W3C](https://www.w3.org/TR/custom-elements/#concepts) pour les noms de balises personnalisés (tout en minuscules, contenir un trait d'union). Cela vous permet d'éviter les conflits avec les éléments HTML actuels et futurs.
2020

21-
You can see other recommendations for component names in the [Style Guide](../style-guide/#Base-component-names-strongly-recommended).
21+
Vous pouvez voir d'autres recommandations pour les noms de composants dans le guide des [Conventions](../style-guide/#Base-component-names-strongly-recommended).
2222

23-
### Name Casing
23+
### La casse des noms
2424

25-
You have two options when defining component names:
25+
Vous avez deux options pour définir vos noms de composant :
2626

27-
#### With kebab-case
27+
#### En kebab-case
2828

2929
```js
3030
Vue.component('my-component-name', { /* ... */ })
3131
```
3232

33-
When defining a component with kebab-case, you must also use kebab-case when referencing its custom element, such as in `<my-component-name>`.
33+
Lors de la définition d'un composant en kebab-case, vous devez également utiliser kebab-case lors du référencement de l'élément, comme ceci `<my-component-name>`.
3434

35-
#### With PascalCase
35+
#### En PascalCase
3636

3737
```js
3838
Vue.component('MyComponentName', { /* ... */ })
3939
```
4040

41-
When defining a component with PascalCase, you can use either case when referencing its custom element. That means both `<my-component-name>` and `<MyComponentName>` are acceptable. Note, however, that only kebab-case names are valid directly in the DOM (i.e. non-string templates).
41+
Lors de la définition d'un composant en PascalCase, vous pouvez utiliser l'un ou l'autre cas lors du référencement de l'élément. Cela signifie que `<my-component-name>` et `<MyComponentName>` sont acceptables. À noter, cependant, que seuls les noms en kebab-case sont directement valides dans le DOM (c.-à-d. la forme non-chaine).
4242

43-
## Global Registration
43+
## Création globale
4444

45-
So far, we've only created components using `Vue.component`:
45+
Jusque là, nous avons créé des composants seulement avec la manière suivante : `Vue.component` :
4646

4747
```js
4848
Vue.component('my-component-name', {
4949
// ... options ...
5050
})
5151
```
5252

53-
These components are **globally registered**. That means they can be used in the template of any root Vue instance (`new Vue`) created after registration. For example:
53+
Ces composants sont **enregistrés globalement**. Cela signifie qu'ils peuvent être utilisés dans le template de n'importe quelle instance Vue (`new Vue`) créée après. Par exemple :
5454

5555
```js
5656
Vue.component('component-a', { /* ... */ })
@@ -68,21 +68,21 @@ new Vue({ el: '#app' })
6868
</div>
6969
```
7070

71-
This even applies to all subcomponents, meaning all three of these components will also be available _inside each other_.
71+
Cela s'applique même à tous les sous-composants, ce qui signifie que ces trois composants seront également disponibles _l'un dans l'autre_.
7272

73-
## Local Registration
73+
## Création locale
7474

75-
Global registration often isn't ideal. For example, if you're using a build system like Webpack, globally registering all components means that even if you stop using a component, it could still be included in your final build. This unnecessarily increases the amount of JavaScript your users have to download.
75+
La création globale n'est souvent pas idéale. Par exemple, si vous utilisez un système de build comme webpack, la création globale de composants fait que même si vous arrêtez d'utiliser un composant, il peut toujours être inclus dans votre build final. Cela augmente inutilement la quantité de JavaScript que vos utilisateurs doivent télécharger.
7676

77-
In these cases, you can define your components as plain JavaScript objects:
77+
Dans ce cas, vous pouvez définir vos composants en tant qu'objets JavaScript simples :
7878

7979
```js
8080
var ComponentA = { /* ... */ }
8181
var ComponentB = { /* ... */ }
8282
var ComponentC = { /* ... */ }
8383
```
8484

85-
Then define the components you'd like to use in a `components` option:
85+
Puis définissez les composants que vous souhaitez utiliser dans l'option `components` :
8686

8787
```js
8888
new Vue({
@@ -94,9 +94,9 @@ new Vue({
9494
})
9595
```
9696

97-
For each property in the `components` object, the key will be the name of the custom element, while the value will contain the options object for the component.
97+
Pour chaque propriété de l'objet `components`, la clé sera le nom de l'élément personnalisé, tandis que la valeur contiendra l'objet d'options du composant.
9898

99-
Note that **locally registered components are _not_ also available in subcomponents**. For example, if you wanted `ComponentA` to be available in `ComponentB`, you'd have to use:
99+
Notez que **les composants créés localement ne sont _pas_ disponibles dans les sous-composants**. Par exemple, si vous voulez que `ComponentA` soit disponible dans `ComponentB`, vous devez utiliser :
100100

101101
```js
102102
var ComponentA = { /* ... */ }
@@ -109,7 +109,7 @@ var ComponentB = {
109109
}
110110
```
111111

112-
Or if you're using ES2015 modules, such as through Babel and Webpack, that might look more like:
112+
Ou si vous utilisez des modules ES2015, tels que Babel et webpack, cela pourrait plus ressembler à :
113113

114114
```js
115115
import ComponentA from './ComponentA.vue'
@@ -122,20 +122,20 @@ export default {
122122
}
123123
```
124124

125-
Note that in ES2015+, placing a variable name like `ComponentA` inside an object is shorthand for `ComponentA: ComponentA`, meaning the name of the variable is both:
125+
Notez que dans ES2015+, placer un nom de variable comme `ComponentA` dans un objet est un raccourci à `ComponentA: ComponentA`, signifiant que le nom de la variable est à la fois :
126126

127-
- the custom element name to use in the template, and
128-
- the name of the variable containing the component options
127+
- le nom de l'élément personnalisé à utiliser dans le template et
128+
- le nom de la variable contenant les options du composant
129129

130-
## Module Systems
130+
## Systèmes de module
131131

132-
If you're not using a module system with `import`/`require`, you can probably skip this section for now. If you are, we have some special instructions and tips just for you.
132+
Si vous n'utilisez pas un système de module avec `import`/`require`, vous pouvez probablement ignorer cette section pour l'instant. Si oui, nous avons quelques instructions spéciales et conseils pour vous.
133133

134-
### Local Registration in a Module System
134+
### Création locale dans un système de module
135135

136-
If you're still here, then it's likely you're using a module system, such as with Babel and Webpack. In these cases, we recommend creating a `components` directory, with each component in its own file.
136+
Si vous êtes toujours là, il est probable que vous utilisiez un système de modules, comme avec Babel et webpack. Dans ces cas, nous recommandons de créer un répertoire `components`, avec chaque composant dans son propre fichier.
137137

138-
Then you'll need to import each component you'd like to use, before you locally register it. For example, in a hypothetical `ComponentB.js` or `ComponentB.vue` file:
138+
Ensuite, vous devrez importer chaque composant que vous souhaitez utiliser avant de l'enregistrer localement. Par exemple, dans un fichier hypothétique `ComponentB.js` ou `ComponentB.vue` :
139139

140140
```js
141141
import ComponentA from './ComponentA'
@@ -150,13 +150,13 @@ export default {
150150
}
151151
```
152152

153-
Now both `ComponentA` and `ComponentC` can be used inside `ComponentB`'s template.
153+
Maintenant, et `ComponentA` et `ComponentC` peuvent être utilisés dans le template du composant `ComponentB`.
154154

155-
### Automatic Global Registration of Base Components
155+
### Enregistrement global automatique des composants de base
156156

157-
Many of your components will be relatively generic, possibly only wrapping an element like an input or a button. We sometimes refer to these as [base components](../style-guide/#Base-component-names-strongly-recommended) and they tend to be used very frequently across your components.
157+
La plupart de vos composants seront relativement génériques, ce qui ne fera qu'englober un élément comme un champ ou un bouton. Nous nous référons parfois à ces [composants de base](../style-guide/#Base-de-nom-de-composant-fortement-recommande) et ils ont tendance à être utilisés très fréquemment à travers vos composants.
158158

159-
The result is that many components may include long lists of base components:
159+
Le résultat est que de nombreux composants peuvent inclure de longues listes de composants de base :
160160

161161
```js
162162
import BaseButton from './BaseButton.vue'
@@ -172,7 +172,7 @@ export default {
172172
}
173173
```
174174

175-
Just to support relatively little markup in a template:
175+
Juste pour supporter relativement peu de balise dans un template :
176176

177177
```html
178178
<BaseInput
@@ -184,43 +184,43 @@ Just to support relatively little markup in a template:
184184
</BaseButton>
185185
```
186186

187-
Fortunately, if you're using Webpack (or [Vue CLI 3+](https://github.com/vuejs/vue-cli), which uses Webpack internally), you can use `require.context` to globally register only these very common base components. Here's an example of the code you might use to globally import base components in your app's entry file (e.g. `src/main.js`):
187+
Heureusement, si vous utilisez webpack (ou [Vue CLI 3+](https://github.com/vuejs/vue-cli), qui utilise webpack en interne), vous pouvez utiliser `require.context` pour enregistrer globalement précisément ces composants de base très courants. Voici un exemple de code que vous pouvez utiliser pour importer globalement des composants de base dans le fichier d'entrée de votre application. (ex. `src/main.js`) :
188188

189189
```js
190190
import Vue from 'vue'
191191
import upperFirst from 'lodash/upperFirst'
192192
import camelCase from 'lodash/camelCase'
193193

194194
const requireComponent = require.context(
195-
// The relative path of the components folder
195+
// Le chemin relatif du dossier composants
196196
'./components',
197-
// Whether or not to look in subfolders
197+
// Suivre ou non les sous-dossiers
198198
false,
199-
// The regular expression used to match base component filenames
199+
// L'expression régulière utilisée pour faire concorder les noms de fichiers de composant de base
200200
/Base[A-Z]\w+\.(vue|js)$/
201201
)
202202

203203
requireComponent.keys().forEach(fileName => {
204-
// Get component config
204+
// Récupérer la configuration du composent
205205
const componentConfig = requireComponent(fileName)
206206

207-
// Get PascalCase name of component
207+
// Récupérer le nom du composent en PascalCase
208208
const componentName = upperFirst(
209209
camelCase(
210-
// Strip the leading `'./` and extension from the filename
210+
// Enlever la chaine `'./` et l'extension du nom de fichier
211211
fileName.replace(/^\.\/(.*)\.\w+$/, '$1')
212212
)
213213
)
214214

215-
// Register component globally
215+
// Créer un composant global
216216
Vue.component(
217217
componentName,
218-
// Look for the component options on `.default`, which will
219-
// exist if the component was exported with `export default`,
220-
// otherwise fall back to module's root.
218+
// Chercher les options du composant dans `.default`, qui
219+
// existera si le composant a été exporté avec `export default`,
220+
// sinon revenez à la racine du module.
221221
componentConfig.default || componentConfig
222222
)
223223
})
224224
```
225225

226-
Remember that **global registration must take place before the root Vue instance is created (with `new Vue`)**. [Here's an example](https://github.com/chrisvfritz/vue-enterprise-boilerplate/blob/master/src/components/_globals.js) of this pattern in a real project context.
226+
N'oubliez pas que **la création globale doit avoir lieu avant la création de l'instance racine Vue (avec `new Vue`)**. [Voici un exemple](https://github.com/chrisvfritz/vue-enterprise-boilerplate/blob/master/src/components/_globals.js) de ce modèle dans un contexte de projet réel.

0 commit comments

Comments
 (0)