应用文件夹外的内容

介绍

在某些项目中,您的内容文件位于安装TinaCMS的应用程序文件夹之外。例如,您的Next.js应用程序可能位于packages/website/中,而您的markdown内容位于顶级的content/文件夹中。

TinaCMS通过localContentPath配置选项支持这种布局。本指南将介绍如何设置它。

如果您的内容位于一个完全独立的Git仓库中,请参阅独立内容仓库指南。

示例结构

第1步:配置localContentPath

在您的tina/config.ts中,将localContentPath设置为指向您的内容目录。该路径是相对于tina/配置文件夹解析的,而不是项目根目录。

使用环境变量来设置localContentPath,因为相对路径可能因开发者克隆仓库的位置不同而异。

第2步:在内容目录中创建tina/文件夹

TinaCMS将生成的文件(tina-lock.json__generated__/等)写入内容根目录中的tina/文件夹。此文件夹必须存在,否则CLI将失败并显示:

创建它:

您可以添加一个.gitkeep文件以确保它被Git跟踪:

第3步:设置相对于内容根目录的集合路径

当设置了localContentPath时,集合的path值是相对于内容根目录解析的,而不是应用程序文件夹。

例如,如果您的内容位于content/posts/

第4步:运行开发服务器

不需要特殊的CLI标志。只需像往常一样从您的应用程序目录运行:

您应该会看到:

故障排除

"无法找到Tina文件夹 ... 指定--rootPath"

此错误意味着内容目录缺少tina/文件夹。使用mkdir content/tina创建一个。错误消息中的--rootPath建议对于此用例是误导的——它控制TinaCMS查找应用程序配置的位置,而不是内容目录。

找不到文档或集合为空

检查您的集合path值是否相对于内容根目录,而不是应用程序文件夹。如果localContentPath指向content/,那么path: "posts"解析为content/posts/,而不是content/content/posts/

路径解析参考

localContentPath是相对于tina/配置文件夹解析的。仔细计算目录级别:

Last Edited: February 18, 2026