Para configurar o FormKit, crie um formkit.config.ts
na raiz do seu projeto Nuxt. O módulo Nuxt fornecido usa automaticamente o formkit.config.ts
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'
import { defineFormKitConfig } from '@formkit/vue'
export default defineFormKitConfig({
locales: { fr },
locale: 'fr',
})
Pode haver casos em que você queira usar as variáveis runtimeConfig
do Nuxt dentro do seu arquivo formkit.config.ts
— como manter uma chave da API FormKit Pro sem ser publicada no seu código. 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.ts',
},
})
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.ts',
// ^ isso agora é uma substituição completa da configuração, não uma sobreposição.
},
})