Comment créer le squelette de notre application
Prérequis
Afin de pouvoir suivre ce guide, il faut préalablement avoir installé Nuxt.js.
Comment procéder ?
Recommandation
Pour vous familiariser avec le concept de layout
de Nuxt.js
, il est fortement recommandé de lire la documentation
associée disponible ici.
On se propose ici de créer une application avec trois sections : Plats
, Boissons
et Menus
. Chaque section
correspondra à une route, respectivement /plat
, /boisson
et /menu
. Ces trois sections seront toujours accessibles
depuis n’importe quelle page de notre application sous la forme d’un en-tête composé de trois boutons.
Pour parvenir à construire notre application nous allons créer un layout par défaut.
Créer un layout par défaut
Créer un dossier layouts
à la racine du projet :
mkdir layouts
Le layout par défaut devra s’appeler default.vue
afin d’être appliqué à toutes les pages de l’application. Créer le
fichier layouts/default.vue
:
touch layouts/default.vue
<template>
<div class="restauratec-main">
<div class="restauratec-header">
<div class="restauratec-header-nav-button restauratec-header-plat btn btn-outline-primary">
<NuxtLink to="/plat" class="restauratec-header-link">Plats</NuxtLink>
</div>
<div class="restauratec-header-nav-button restauratec-header-boisson btn btn-outline-primary">
<NuxtLink to="/boisson" class="restauratec-header-link">Boissons</NuxtLink>
</div>
<div class="restauratec-header-nav-button restauratec-header-menu btn btn-outline-primary">
<NuxtLink to="/menu" class="restauratec-header-link">Menus</NuxtLink>
</div>
</div>
<div class="restauratec-body">
<Nuxt />
</div>
</div>
</template>
On peut voir le résultat en lançant la commande :
npm run dev
Puis en se rendant sur :
http://localhost:3000/
Créer les sous-sections de notre application
Pour le moment, le header est bien affiché, mais les liens ne mènent vers aucune page. Par exemple sur
http://localhost:3000/plat
:
Pour cela, créons les fichiers suivants :
touch pages/Plat.vue pages/Boisson.vue pages/Menu.vue
pages/Plat.vue
:
<template>
<h1>Mes plats</h1>
</template>
pages/Boisson.vue
:
<template>
<h1>Mes boissons</h1>
</template>
pages/Menu.vue
:
<template>
<h1>Mes menus</h1>
</template>
Tester nos modifications
Lancer la commande de serveur de développement Nuxt.js :
npm run dev
On peut vérifier alors le résultat sur http://localhost:3000/boisson
: