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
Ceci est le guide d̛’utilisation de la bibliothèque. Si vous cherchez à contribuer, se référer au
4
4
[Guide du développeur](/guide-developpeur).
5
5
6
+
::: info Prérequis
7
+
8
+
Pour utiliser cette bibliothèque, il vous faudra **[Vue 3](https://v3.vuejs.org/)** (et **[Vue-Router 4](https://next.router.vuejs.org/)**). Par conséquent, si vous utilisez Nuxt, il vous faut **[Nuxt 3](https://v3.nuxtjs.org/)** (plus de détails plus loin).
La façon la plus simple de commencer un projet est d’utiliser le package `create-vue-dsfr`, qui permet de créer un projet NPM avec tout le nécessaire pour développer un projet utilisant VueDsfr, que ce soit pour Vite (Vue3) ou pour Nuxt (Nuxt3), avec ou sans TypeScript.
14
+
La façon la plus simple de commencer un projet est d’utiliser le package `create-vue-dsfr`, qui permet de créer un projet NPM avec le nécessaire et suffisant (ou plus, selon votre choix) pour développer un projet utilisant VueDsfr, que ce soit pour Vite (Vue3) ou pour Nuxt (Nuxt3), avec TypeScript et ESLint.
9
15
10
16
Avec npm :
11
17
@@ -31,10 +37,6 @@ Et suivez les indications de l’assistant.
31
37
32
38
### Utiliser la bibliothèque en tant que plugin
33
39
34
-
| Notes : |
35
-
|:---------------------------|
36
-
| Pour utiliser cette bibliothèque, il vous faudra **[Vue 3](https://v3.vuejs.org/)** (et **[Vue-Router 4](https://next.router.vuejs.org/)**). Par conséquent, si vous utilisez Nuxt, il vous faut **[Nuxt 3](https://v3.nuxtjs.org/)** (plus de détails plus loin). |
37
-
38
40
#### Installer la bibliothèque en tant que dépendance du projet
39
41
40
42
Afin d'installer la bibliothèque, taper ces commandes dans votre console au sein du répertoire du projet :
@@ -43,17 +45,30 @@ Afin d'installer la bibliothèque, taper ces commandes dans votre console au sei
43
45
npm install @gouvfr/dsfr @gouvminint/vue-dsfr
44
46
```
45
47
46
-
::: info
48
+
::: info Pourquoi `@gouvfr/dsfr` ?
47
49
48
50
`@gouvminint/vue-dsfr` utilise le CSS de `@gouvfr/dsfr`, c’est pourquoi il faut l’installer aussi.
49
51
50
52
:::
51
53
52
54
#### Ajouter le plugin
53
55
54
-
##### Dans une application Vite (recommandé) ou Vue-CLI
56
+
Ajouter la bibliothèque en tant que plugin a deux conséquences :
57
+
58
+
| pros | cons |
59
+
| ---- | ---- |
60
+
| Pas besoin d’enregistrer les composants qu’on utilise : le plugin les enregistre tous pour nous | Le bundle final sera plus lourd |
61
+
62
+
::: info Le meilleur des deux mondes
55
63
56
-
À partir d'un fichier `main.js` simple comme celui-ci :
64
+
On peut avoir le meilleur des deux mondes (la tranquilité de ne pas avoir à importer les composants et un bundle final qui ne contient que les composants réellement utilisés) avec l’auto-import et le component resolver livrés avec la version [5.5.0 de VueDsfr](https://github.com/dnum-mi/vue-dsfr/releases/tag/v5.5.0).
65
+
C’est le défaut depuis la version [1.7.0](https://github.com/laruiss/create-vue-dsfr) de l’assistant officiel [create-vue-dsfr](https://github.com/laruiss/create-vue-dsfr).
66
+
67
+
:::
68
+
69
+
##### Dans une application Vite
70
+
71
+
À partir d'un fichier `main.ts` simple comme celui-ci :
## Utiliser la bibliothèque de composants sans plugin
115
130
116
-
Pour les petits projets, il est possible de ne pas importer tous les composants, et de sélectionner
117
-
les composants utilisés :
131
+
Il est possible de ne pas importer tous les composants, et de sélectionner les composants utilisés :
118
132
119
133
```js{2,16}=
120
134
import { createApp } from 'vue'
121
-
import { OhVueIcon } from 'oh-vue-icons' // Import du composant OhVueIcon du pkg oh-vue-icons
135
+
import { OhVueIcon } from 'oh-vue-icons' // Import du composant OhVueIcon du pkg oh-vue-icons (facultatif)
122
136
123
137
import App from './App.vue'
124
138
import {
@@ -132,7 +146,7 @@ import '@gouvfr/dsfr/dist/dsfr.min.css' // Import des styles du DSFR
132
146
import '@gouvminint/vue-dsfr/styles' // Import des styles propres à la bibliothèque VueDSFR
133
147
134
148
const app = createApp(App)
135
-
.component('VIcon', OhVueIcon) // Enregistrement global du composant OhVueIcon
149
+
.component('VIcon', OhVueIcon) // Enregistrement global du composant OhVueIcon (facultatif)
136
150
.component('DsfrHeader', DsfrHeader) // Enregistrement global du composant DsfrHeader
137
151
.component('DsfrButton', DsfrButton) // Enregistrement global du composant DsfrButton
138
152
.component('DsfrBreadcrumb', DsfrBreadcrumb) // Enregistrement global du composant DsfrBreadcrumb
@@ -141,16 +155,16 @@ const app = createApp(App)
141
155
```
142
156
143
157
:::info
144
-
N.B. : il faut bien en plus enregistrer globalement le composant **VIcon**car il est utilisé en interne dans VueDsfr.
158
+
Il faut enregistrer globalement le composant **VIcon**si vous voulez l’utiliser.
145
159
:::
146
160
147
161
## Utiliser les icônes
148
162
149
163
Cf. [la page dédiée](./icones.md)
150
164
151
-
## Avoir un bundle minimal
165
+
## Avoir un bundle optimisé (et une DX optimale)
152
166
153
-
Il est possible d’intégrer moins de CSS pour les petits projets.
167
+
Il est possible d’intégrer moins de CSS, voici quelques notes à ce propos (voir les commentaires dans le code).
154
168
155
169
### Vue3
156
170
@@ -166,6 +180,197 @@ import '@gouvfr/dsfr/dist/scheme/scheme.min.css' // Facultatif : Si
166
180
import'@gouvfr/dsfr/dist/utility/icons/icons.min.css'// Facultatif : Si des icônes sont utilisées avec les classes "fr-icon-..."
167
181
```
168
182
183
+
### Les imports automatiques des composables et des composants
184
+
185
+
La version [5.5.0 de VueDsfr](https://github.com/dnum-mi/vue-dsfr/releases/tag/v5.5.0) intègre 3 nouveaux exports pour pouvoir importer automatiquement les composables et autres fonctions et les composants (grâce au plugin vite [unplugin-auto-import](https://github.com/unplugin/unplugin-auto-import)).
186
+
187
+
#### Les imports automatiques des composables et fonctions
188
+
189
+
Il y a deux presets livrés avec VueDsfr (**depuis la v5.5.0 seulement**) à utiliser avec le plugin unplugin-auto-import :
0 commit comments