要配置 FormKit,请在您的 Nuxt 项目根目录下创建一个 formkit.config.js
文件。提供的 Nuxt 模块会自动使用项目根目录下的 formkit.config.js
来扩展 FormKit 的功能。您的配置文件应该导出一个配置对象。
import { fr } from '@formkit/i18n'
export default {
locales: { fr },
locale: 'fr',
}
在某些情况下,您可能希望在 formkit.config.js
文件中使用 Nuxt 的 runtimeConfig
变量 —— 例如,防止 FormKit Pro API 密钥在您的代码库中被公开。为了实现这一点,您可以提供一个函数给 defineFormKitConfig
,该函数返回一个配置对象。Nuxt 将调用您的函数,并可以访问 runtimeConfig
。
import { fr } from '@formkit/i18n'
import { defineFormKitConfig } from '@formkit/vue'
import { createProPlugin, inputs } from '@formkit/pro'
export default defineFormKitConfig(() => {
// 在这里我们可以访问 `useRuntimeConfig`,因为
// 我们的函数将被 Nuxt 调用。
const config = useRuntimeConfig()
// 我们可以使用变量来导入秘密。
//
// ⚠️ 这只是一个示例 —— 如果您想使用 FormKit Pro
// 您需要安装 @formkit/pro 依赖。
const pro = createProPlugin(config.FORMKIT_PRO_KEY, inputs)
return {
plugins: [pro],
locales: { fr },
locale: 'fr',
}
})
如果您想要提供一个自定义路径给您的 formkit.config
,您可以使用 formkit
键下的 configFile
选项来覆盖默认位置。您提供的任何路径都应该相对于您的 Nuxt 项目根目录:
// nuxt.config
export default defineNuxtConfig({
modules: ['@formkit/nuxt'],
formkit: {
autoImport: true,
configFile: './my-configs/formkit.config.js',
},
})
在过去,FormKit 使用全局插件进行安装。这有一个负面效果,即包含在 Nuxt 的入口包中。为了避免这种情况,FormKit 现在支持一个 autoImport
选项。启用后,FormKit 不再使用全局插件,而是只在使用它的页面或组件上自动注入“全局”配置选项。
将来这将成为默认设置。要今天启用它,请在您的 nuxt.config.ts
中设置 autoImport: true
defaultConfig
默认情况下,你的配置将会_扩展_随 FormKit 一起提供的 defaultConfig
。这是大多数项目所期望的行为。然而,如果你需要从头开始定义整个 FormKit 配置,你可以通过将模块的 defaultConfig
选项设置为 false
来实现:
// nuxt.config
export default defineNuxtConfig({
modules: ['@formkit/nuxt'],
formkit: {
autoImport: true,
defaultConfig: false,
configFile: './my-configs/formkit.config.js',
// ^ 这现在是一个完整的配置替换,而不是覆盖。
},
})