从 tina/config.{ts,tsx,js,jsx}
导出的 defineConfig
函数的结果定义了你的 TinaCMS 设置。
注意,它必须是默认导出。
配置文件的位置之前在.tina/config.{ts,tsx,js,jsx}
定义你的内容模型。
用于拉取内容的基础分支。对于 TinaCloud 是必需的。
来自 TinaCloud 的 clientId
。对于 TinaCloud 是必需的。
来自 TinaCloud 的只读令牌。对于 TinaCloud 是必需的。
本地开发中单独内容仓库的相对路径。
设置自定义认证。
覆盖默认的内容 API URL。
All properties marked as REQUIRED must be specified for the field to work properly.
这是一个使用 TinaCloud 托管数据层的标准配置,以及内置的 Tina 媒体和搜索功能。
const branch =process.env.NEXT_PUBLIC_TINA_BRANCH ||process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_REF ||process.env.HEAD ||'main';export default defineConfig({branch,// 由 TinaCloud 生成token: '<Your Read Only Token>',// 由 TinaCloud 生成clientId: '<Your Client ID>',build: {publicFolder: 'public',outputFolder: 'admin',},schema: {//内容模型定义在这里...},ui: {previewUrl: (context) => {// 基于分支名称使用 Vercel 预览部署return { url: `https://my-app-git-${context.branch}.vercel.app` };},},media: {tina: {publicFolder: 'public',mediaRoot: 'uploads',},},search: {tina: {indexerToken: process.env.TINA_SEARCH_TOKEN,},},});
Tina 支持 Git 支持的媒体和特定的外部媒体提供商:
export default defineConfig({// ... 其他配置选项media: {loadCustomStore: async () => {const pack = await import('next-tinacms-cloudinary');return pack.TinaCloudCloudinaryMediaStore;},accept: 'image/*',},});
Tina 通过 TinaCloud 提供内置的搜索功能。
// Tina Cloud 搜索export default defineConfig({// ... 其他配置选项search: {tina: {indexerToken: process.env.TINA_SEARCH_TOKEN,stopwordLanguages: ['eng', 'fra'],tokenSplitRegex: '/[p{L}d_]+/',},},});
TinaCMS 支持在 tina/config.{ts,js,tsx}
文件和集合中使用 TypeScript 路径别名。
确保 tsconfig.json
存在于项目的根目录。 在 compilerOptions
部分定义你的别名。
//tsconfig.json{"compilerOptions": {"baseUrl": ".","paths": {"@/*": ["src/*"]}}}
你现在可以使用别名导入工具或其他模块。
import { someUtility } from '@/lib/utils';export default defineConfig({//...});