nuxt.config
Par défaut, Nuxt est configuré de sorte à pouvoir couvrir la plupart des cas. Cette configuration peut être écrasée grâce au fichier nuxt.config.js.
nuxt.config.js
alias
Cette option vous permet de définir des alias qui seront disponibles dans votre JavaScript et CSS.
import { resolve } from 'path'
export default {
  alias: {
    'style': resolve(__dirname, './assets/style')
  }
}
 build
Cette option permet de configurer différents paramètres lors de l'étape de build, cela inclus les loaders, les noms de fichiers, la configuration Webpack ainsi que la transpilation.
export default {
  build: {
    /*
     ** On peut personnaliser la configuration de Webpack ici
     */
    extend(config, ctx) {}
  }
}
 css
Cette option permet de définir les fichiers CSS, les modules et les librairies que l'on veut inclure globalement (sur chaque page).
export default {
  css: ['~/assets/css/main.css', '~/assets/css/animations.scss']
}
 On peut omettre l'extension pour les fichiers CSS/SCSS/Postcss/Less/Stylus/... listés dans le tableau css du fichier nuxt.config.js.
export default {
  css: ['~/assets/css/main', '~/assets/css/animations']
}
 En omettant l'extension, cela nous permet de ne pas avoir à renommer le fichier si jamais on décide de le passer du CSS au SASS.
dev
Cette option permet de définir le mode development ou production de Nuxt (utile lorsque l'on veut utiliser Nuxt de façon programmatique).
export default {
  dev: process.env.NODE_ENV !== 'production'
}
 env
Cette option permet de définir des variables d'environment qui seront disponibles côté client mais aussi serveur.
export default {
  env: {
    baseUrl: process.env.BASE_URL
  }
}
 runtimeConfig
La configuration d'exécution a une prise en charge intégrée de dotenv pour une meilleure sécurité et un développement plus rapide. La configuration d'exécution est ajoutée au payload Nuxt, il n'est donc pas nécessaire de reconstruire afin de mettre à jour la configuration d'exécution lorsque vous travaillez en développement ou avec un rendu côté serveur ou des applications côté client uniquement. (Pour les sites statiques, vous devrez toujours régénérer votre site pour voir les changements.)
.env support 
Si vous avez un fichier .env dans le répertoire racine de votre projet, il sera automatiquement chargé dans process.env et accessible dans votre nuxt.config/serverMiddleware et tout autre fichier qu'ils importent.
Vous pouvez personnaliser le chemin en utilisant --dotenv <file> ou désactiver complètement avec --dotenv false. Par exemple, vous pouvez spécifier un fichier ".env" différent dans les environnements de production, de transfert ou de développement.
publicRuntimeConfig 
- doit contenir toutes les variables env qui sont publiques car elles seront exposées sur le frontend. Cela pourrait inclure une référence à votre URL publique par exemple.
 - 
est disponible en utilisant 
$configà la fois sur le serveur et le client. 
export default {
  publicRuntimeConfig: {
    baseURL: process.env.BASE_URL || 'https://nuxtjs.org'
  }
}
 privateRuntimeConfig 
- doit contenir toutes les variables d'environnement qui sont privées et qui ne doivent pas être exposées sur le frontend. Cela pourrait inclure une référence à vos jetons secrets API par exemple.
 - 
n'est disponible que sur le serveur utilisant le même 
$config(il remplace publicRuntimeConfig) 
export default {
  privateRuntimeConfig: {
    apiSecret: process.env.API_SECRET
  }
}
 Utilisation de vos valeurs de configuration:
Vous pouvez ensuite accéder à ces valeurs n'importe où en utilisant le contexte dans vos pages, magasin, composants et plugins en utilisant this.$config ou context.$config.
<script>
  asyncData ({ $config: { baseURL } }) {
    const posts = await fetch(`${baseURL}/posts`)
      .then(res => res.json())
  }
</script>
 Dans vos modèles, vous pouvez accéder à vos runtimeConfigs directement en utilisant $config.*
<template>
  <p>Votre url est: {{ $config.baseURL}}</p>
</template>
 $config en dehors d'un contexte de serveur uniquement (par exemple, si vous utilisez $config dans fetch, asyncData ou directement dans votre modèle).generate
Cette option permet de définir les paramètres pour chaque route dynamique de l'application, ces derniers seront transformés en fichiers HTML par Nuxt.
export default {
  generate: {
    dir: 'gh_pages', // gh_pages/ au lieu de dist/
    subFolders: false // les fichiers HTML sont générés en fonction du chemin de la route
  }
}
 head
export default {
    head: {
    title: 'mon titre',
    meta: [
      { charset: 'utf-8' },
            .....
        ]
    }
}
 Cette option permet de définir toutes les balises méta par défaut pour l'application.
loading
Cette option permet de personnaliser le composant de chargement que Nuxt utilise par défaut.
export default {
  loading: {
    color: '#fff'
  }
}
 modules
Cette option permet d'ajouter des modules Nuxt au projet.
export default {
  modules: ['@nuxtjs/axios']
}
 modulesDir
Cette propriété est utilisée pour définir les répertoires des modules afin de déterminer le chemin de résolution. Par ex: le resolveLoading,  nodeExternals et postcss de Webpack. Le chemin de la configuration est relatif par rapport à options.rootDir (par défaut: process.cwd()).
export default {
  modulesDir: ['../../node_modules']
}
 Adapter cet emplacement peut être nécessaire si le projet est organisé en tant que workspace Yarn avec un mono-repo.
plugins
Cette option permet de définir les plugins JavaScript qui devraient s'exécuter avant l'instanciation de l'application Vue.js principale.
export default {
  plugins: ['~/plugins/url-helpers.js']
}
 router
Avec l'option router, on peut écraser la configuration de Nuxt par défaut pour le routeur de Vue.js.
export default {
  router: {
    linkExactActiveClass: 'text-primary'
  }
}
 server
Cette option permet de configurer des variables de connexion pour l'instance du serveur de l'application Nuxt.
import path from 'path'
import fs from 'fs'
export default {
  server: {
    https: {
      key: fs.readFileSync(path.resolve(__dirname, 'server.key')),
      cert: fs.readFileSync(path.resolve(__dirname, 'server.crt'))
    }
  }
}
 srcDir
Cette option permet de définir le répertoire source de l'application Nuxt.
export default {
  srcDir: 'client/'
}
 Exemple de la structure du projet de l'application Nuxt avec le répertoire client:
**-| app/
---| node_modules/
---| nuxt.config.js
---| package.json
---| client/
------| assets/
------| components/
------| layouts/
------| middleware/
------| pages/
------| plugins/
------| static/
------| store/**
 dir
Cette option permet de définir des noms personnalisés pour les répertoires de l'application Nuxt.
export default {
  pages: 'views' // Nuxt va chercher les pages dans le répertoire views/ et non pages/
}
 pageTransition
Cette option permet de définir les propriétés par défaut pour les transitions de page.
export default {
  pageTransition: 'page'
}
 Autres fichiers de configuration
Outre le fichier nuxt.config.js, il peut y avoir d'autres fichiers de configuration à la racine du projet, tels que .eslintrc , prettier.config.json  ou .gitignore . Ces derniers sont utilisés pour configurer des outils tels que le linter, le formateur de code ou votre repository Git, ils sont donc décorrélés du fichier nuxt.config.js.
.gitignore
Dans le fichier .gitignore, il faudra ajouter les entrées qui suivent afin qu'elles soient ignorées du système de contrôle de version. node_modules où tous les modules sont installés. Le répertoire nuxt qui est créé lorsque l'on lance les commandes dev ou build. Le répertoire dist qui est créé lorsque l'on lance la commande generate.
node_modules .nuxt dist
 Et maintenant ?
 
        Leoš Literák
       
 
        Trizotti
       
 
        Clément Ollivier
       
 
        Sébastien Chopin
       
 
        Marcello Bachechi
       
 
        Rodolphe
       
 
        Thomas Underwood
       
 
        Shek Evgeniy
       
 
        felipesuri
       
 
        Lukasz Formela
       
 
        Hugo Torzuoli
       
 
        Sylvain Marroufin
       
 
        Kareem Dabbeet
       
 
        tramplay
       
 
        Daniel Roe
       
 
        verebelyicsaba
       
 
        Adam
       
 
        Nate Butler
       
 
        Sandra Rodgers
       
 
        Arpit Patidar
       
 
        Matthew Kuehn
       
 
        Steven DUBOIS
       
 
        Travis Lindsey
       
 
        syagawa
       
 
        Maxime
       
 
        かる
       
 
        Al Power
       
 
        Florent Delerue
       
 
        quanghm
       
 
        José Manuel Casani Guerra
       
 
        Unai Mengual
       
 
        kazuya kawaguchi
       
 
        Michael Lynch
       
 
        Tomachi
       
 
        pooya parsa
       
 
        Meir Roth
       
 
        Brett
       
 
        Adam Miedema
       
 
        Thomas Bnt
       
 
        Kazuki Furukawa
       
 
        Anthony Ruelle
       
 
        Christophe Carvalho Vilas-Boas
       
 
        Roman Harmyder