Pour configurer FormKit, créez un fichier formkit.config.js
à la racine de votre projet Nuxt. Le module Nuxt fourni utilise automatiquement le fichier formkit.config.js
qui se trouve à la racine de votre projet pour étendre les fonctionnalités de FormKit. Votre fichier de configuration doit exporter un objet de configuration.
import { fr } from '@formkit/i18n'
export default {
locales: { fr },
locale: 'fr',
}
Il peut y avoir des cas où vous souhaitez utiliser les variables runtimeConfig
de Nuxt à l'intérieur de votre fichier formkit.config.js
— comme pour éviter de publier une clé API FormKit Pro dans votre base de code. Pour cela, vous pouvez fournir une fonction à defineFormKitConfig
qui retourne un objet de configuration. Votre fonction sera appelée par Nuxt et aura accès à runtimeConfig
.
import { fr } from '@formkit/i18n'
import { defineFormKitConfig } from '@formkit/vue'
import { createProPlugin, inputs } from '@formkit/pro'
export default defineFormKitConfig(() => {
// ici, nous pouvons accéder à `useRuntimeConfig` car
// notre fonction sera appelée par Nuxt.
const config = useRuntimeConfig()
// et nous pouvons utiliser les variables pour importer des secrets.
//
// ⚠️ ceci est juste un exemple — si vous souhaitez utiliser FormKit Pro
// vous devrez installer la dépendance @formkit/pro.
const pro = createProPlugin(config.FORMKIT_PRO_KEY, inputs)
return {
plugins: [pro],
locales: { fr },
locale: 'fr',
}
})
Si vous souhaitez fournir un chemin personnalisé pour votre formkit.config
, vous pouvez remplacer l'emplacement par défaut en utilisant l'option configFile
sous la clé formkit
. Tout chemin que vous fournissez doit être relatif à la racine de votre projet Nuxt :
// nuxt.config
export default defineNuxtConfig({
modules: ['@formkit/nuxt'],
formkit: {
autoImport: true,
configFile: './my-configs/formkit.config.js',
},
})
Dans le passé, FormKit utilisait un plugin global pour s'installer. Cela avait l'effet secondaire négatif de s'inclure dans le bundle d'entrée de Nuxt. Pour éviter cela, FormKit prend désormais en charge une option autoImport
. Lorsqu'elle est activée, FormKit n'utilise plus un plugin global mais injecte automatiquement les options de configuration "globales" uniquement sur les pages ou les composants qui l'utilisent.
À l'avenir, cela deviendra le réglage par défaut. Pour l'activer dès aujourd'hui, définissez autoImport: true
dans votre nuxt.config.ts
defaultConfig
Par défaut, votre configuration va étendre le defaultConfig
qui est fourni avec FormKit. C'est le comportement souhaité
pour la majorité des projets. Cependant, si vous avez besoin de définir la configuration complète de FormKit vous-même — depuis le début — vous pouvez le faire
en définissant l'option defaultConfig
du module sur false
:
// nuxt.config
export default defineNuxtConfig({
modules: ['@formkit/nuxt'],
formkit: {
autoImport: true,
defaultConfig: false,
configFile: './my-configs/formkit.config.js',
// ^ ceci est maintenant un remplacement complet de la config, pas une surcharge.
},
})