Para configurar o FormKit, crie um formkit.config.js
na raiz do seu projeto Nuxt. O módulo Nuxt fornecido usa automaticamente o formkit.config.js
que está na raiz do seu projeto para estender a funcionalidade do FormKit. Seu arquivo de configuração deve exportar um objeto de configuração.
import { fr } from '@formkit/i18n'
export default {
locales: { fr },
locale: 'fr',
}
Pode haver casos em que você queira usar as variáveis runtimeConfig
do Nuxt dentro do seu arquivo formkit.config.js
— como manter uma chave da API FormKit Pro fora do seu código-fonte. Para conseguir isso, você pode fornecer uma função para defineFormKitConfig
que retorna um objeto de configuração. Sua função será chamada pelo Nuxt e terá acesso ao runtimeConfig
.
import { fr } from '@formkit/i18n'
import { defineFormKitConfig } from '@formkit/vue'
import { createProPlugin, inputs } from '@formkit/pro'
export default defineFormKitConfig(() => {
// aqui podemos acessar `useRuntimeConfig` porque
// nossa função será chamada pelo Nuxt.
const config = useRuntimeConfig()
// e podemos usar as variáveis para importar segredos.
//
// ⚠️ isso é apenas um exemplo — se você quiser usar o FormKit Pro
// você precisará instalar a dependência @formkit/pro.
const pro = createProPlugin(config.FORMKIT_PRO_KEY, inputs)
return {
plugins: [pro],
locales: { fr },
locale: 'fr',
}
})
Se você deseja fornecer um caminho personalizado para o seu formkit.config
, você pode substituir o local padrão usando a opção configFile
sob a chave formkit
. Qualquer caminho que você fornecer deve ser relativo à raiz do seu projeto Nuxt:
// nuxt.config
export default defineNuxtConfig({
modules: ['@formkit/nuxt'],
formkit: {
autoImport: true,
configFile: './my-configs/formkit.config.js',
},
})
No passado, o FormKit usava um plugin global para se instalar. Isso tem o efeito colateral negativo de incluir-se no pacote de entrada do Nuxt. Para evitar isso, o FormKit agora suporta uma opção autoImport
. Quando ativada, o FormKit não usa mais um plugin global, mas injeta automaticamente as opções de configuração "globais" apenas nas páginas ou componentes que o utilizam.
No futuro, isso se tornará o padrão. Para ativá-lo hoje, defina autoImport: true
no seu nuxt.config.ts
defaultConfig
Por padrão, sua configuração irá estender o defaultConfig
que acompanha o FormKit. Este é o comportamento desejado
para a maioria dos projetos. No entanto, se você precisar definir a configuração completa do FormKit por conta própria — do zero — você pode fazer isso
definindo a opção defaultConfig
do módulo como false
:
// nuxt.config
export default defineNuxtConfig({
modules: ['@formkit/nuxt'],
formkit: {
autoImport: true,
defaultConfig: false,
configFile: './my-configs/formkit.config.js',
// ^ isso agora é uma substituição completa da configuração, não uma sobreposição.
},
})