La propriété modules
Les modules sont des extensions Nuxt qui peuvent personnaliser les fonctionnalités principales et ajouter des intégrations sans fin. En apprendre davantage
-
Type:
Array
Exemple (nuxt.config.js
):
export default {
modules: [
// en utilisant le nom du package
'@nuxtjs/axios',
// de manière relative par rapport au répertoire source du projet (srcDir)
'~/modules/awesome.js',
// on peut lui passer des options
['@nuxtjs/google-analytics', { ua: 'X1234567' }],
// ou le définir directement
function () {}
]
}
Les développeurs fournissent la plupart du temps des étapes et détails additionnels pour l'utilisation des modules.
Nuxt essaie de résoudre chaque élément qui est présent dans le tableau des modules en utilisant require path
de Node (dans les node_modules
) et résout ensuite en partant du srcDir
du projet si un alias ~
est utilisé. Les modules sont exécutés de manière séquentielle, l'ordre est donc important.
Note: Any plugins injected by modules are added to the beginning of the plugins list. Your options are to:
-
Manually add your plugin to the end of the list of plugins (
this.nuxt.options.plugins.push(...
) - Reverse the order of the modules if it depends on another
Les modules doivent exporter une fonction pour permettre d'améliorer le build/runtime et peuvent (optionnel) aussi retourner une promesse en attendant que leur job ne soit terminé. À noter qu'ils seront importés au runtime, donc ils doivent déjà être transpilés s'ils utilisent des fonctionnalités modernes (ex: ES6).
Se référer au guide des modules pour des informations détaillées sur leur fonctionnement ou si l'on souhaite développer son propre module. En outre, nous avons une section officielle des modules , listant des douzaines de modules prêts à l'emploi et faits par la communauté de Nuxt.
buildModules
Certains modules sont importés seulement lors du développement et du build. Utiliser buildModules
permet de démarrer un projet en production plus rapidement et réduit aussi significativement la taille des node_modules
pour les déploiements en production. Se référer à la documentation de chaque module pour voir s'il est recommandé d'utiliser modules
ou buildModules
.
La différence à l'utilisation est la suivante:
-
Au lieu d'ajouter aux
modules
à l'intérieur du fichiernuxt.config.js
, il faut utiliserbuildModules
-
Au lieu d'ajouter aux
dependencies
à l'intérieur du fichierpackage.json
, il faut utiliserdevDependencies
(yarn add --dev
ornpm install --save-dev
)