TinaCMS CLI

可用命令

常用选项

以下是一些可以在 tinacms devtinacms build 中使用的常用选项

基本用法:

"tinacms dev"

要运行此命令,您必须有一个有效的 tina/config.{ts,tsx,js,jsx} 文件。

dev 将把架构编译成静态文件,为您的项目生成 TypeScript 类型,并在 http://localhost:4001 上启动一个 graphQL 服务器。

此命令接受在常用选项中列出的参数

NextJS 示例:

其他 SSG 框架示例

"tinacms build"

此命令编译并验证架构,生成客户端和类型。它还将确保您的内容已完成索引。

选项

此命令接受所有常用选项以及其他一些选项:

示例:

使用 TinaCloud 进行数据获取的生产构建

使用 SSG 的生产构建

使用本地客户端和本地 graphql 服务器

这将会

  • 启动本地 graphql 服务器
  • 生成将查询本地文件系统的本地 TinaCMS 客户端
  • 生成本地图像路径
  • 构建生产 SPA
  • 运行 Next 构建

使用本地内容构建 TinaCloud 生产客户端

这将会

  • 在构建期间将您的内容索引到临时内存数据层中
  • 生成生产 TinaCMS 客户端(因此部署的网站在运行时仍与 TinaCloud 通信)
  • 在构建期间进行 TinaCloud 内容 API 请求
  • 运行您的框架的构建命令

当 SSG 生成数千个页面时很有用。在 SSW Rules(约 4,000 页)上,构建时间从 4:55 降至 2:12,TinaCloud 内容 API 调用从约 4,000 次降至 0 次。

由于生成的客户端是生产客户端,branchclientIdtoken 必须在您的 TinaCMS 配置中配置,与正常 tinacms build 使用的值相同。

需要了解的一些事项:

  • 在构建期间跳过搜索索引(会发出警告)。如果依赖搜索,请单独重新索引。
  • TinaCloud 验证检查(分支状态、架构匹配)仍会运行;传递 --skip-cloud-checks 以跳过它们。
  • 如果同时传递了 --local--content=local,则 --local 优先。

"npx @tinacms/cli@latest init"

init 命令必须在现有项目中运行(例如 NextJS 项目、Hugo、Jekyll 等)。

这将会:

  • 安装 TinaCMS 所需的所有依赖项。
  • tina 目录中定义基本内容架构。
  • 在演示目录中创建示例内容。
  • 编辑 package.json 以使 devbuildstart 脚本运行 tina GraphQL API。

选项

"tinacms audit"

audit 命令用于检查文件中的错误。它目前执行两项操作。

  • 检查文件是否具有正确的扩展名
  • 将每个文件作为 Graphql 变更提交并检查 Graphql 错误

默认情况下,变更不会更改文件的内容。

选项

"tinacms search-index"

此命令使用您存储库中的内容构建搜索索引并将其上传到 TinaCloud。

"tinacms doctor"

doctor 命令检查您项目中安装的 TinaCMS 包是否与 npm latest dist-tag 一致。它回答了“我是否是最新的?”这个问题——CLI 对应于 /versions 页面。

该命令:

  • 读取您的 package.json 并从 node_modules 或您的项目锁定文件中解析已安装的版本(支持 package-lock.jsonpnpm-lock.yamlyarn.lock)。
  • 过滤到 TinaCMS 包系列:tinacms@tinacms/*tinacms-*next-tinacms-*create-tina-app
  • 并行从 registry.npmjs.org 获取每个已安装包的 dist-tags.latest
  • 打印一个包含声明的已安装的最新的版本的表格,并带有状态列(CURRENTOUTDATEDLOCALUNKNOWN)。
  • 如果任何包过时或无法解析,则以代码 1 退出,因此它对 CI 友好。

选项