Créer un projet vue est très facile : vue create nom_projet
on obtient un menu comme suivant :
? Please pick a preset: (Use arrow keys)
Default ([Vue 2] babel, eslint)
Default (Vue 3) ([Vue 3] babel, eslint)
❯ Manually select features
Selon les versions de vue-cli, il propose par défaut de créer un projet vuejs v2, ou bien v3. Comme indiqué ci-dessus, on peut également paramétrer le projet en spécifiant des options ou des plugins.
Dans l'exemple ci-dessous, les plugins vue-router et vuex ont été activés et seront intégrés directement au canevas de code générer par vue-cli.
? Please pick a preset: Manually select features
? Check the features needed for your project:
◉ Choose Vue version
◉ Babel
◯ TypeScript
◯ Progressive Web App (PWA) Support
◉ Router
❯◉ Vuex
◯ CSS Pre-processors
◉ Linter / Formatter
◯ Unit Testing
◯ E2E Testing
package.json : fichier décrivant les différent modules nodejs utilisés, leur dépendances et certaines options de configuration.node_modules : où est stocké le code des modules.public : contient le patron de fichier html utilisé pour l'application SPAsrc : les sources de l'application.<aside> 💡
Sauf exception, on a besoin d'intervenir uniquement sur les fichiers de src.
</aside>
src contient :
App.vue : décrit la page principale de l'application. Le fichier est structuré comme tous les fichiers .vue, avec une partie <template> décrivant le html, une partie <script> contenant du javascript et notamment tout ce qui est associé à vuejs (data, methods, ...), et enfin une partie <style> avec le CSS pour formater l'affichage.main.js : crée l'instance de vue. On modifie ce fichier quand on veut ajouter à la vue des modules/plugins après la création (par ex, vue-router, vuetity, ...).components : le répertoire contenant les composants de l'application, généralement sous forme de fichier .vue. Par défaut, vue-cli crée un composant HelloWorld.vue qui permet seulement de personnaliser le titre principal du composant..vue.vue sert à définir un composant.<template> : contient le code HTML décrivant le visuel du composant.<script> : contient du javascript décrivant les données manipulées par le composant (via les champs props et data), ainsi que les fonctions de contrôle.<style> : contient du CSS, pour formater l'affichage donné dans le template.<template> est obligatoire. Si un composant n'a pas de données propres, ou des fonctions de contrôle, alors pas besoin de partie script.