Loving Tina? us on GitHub0.0k
v.Latest
Documentation

TinaCMS CLI

Loading last updated info...
在此页面上

可用命令

$ tinacms <command>
命令:
dev [options] 构建 Tina 并启动开发服务器
build [options] 构建 CMS 和自动生成的模块以供 TinaCloud 使用
init [options] 向现有项目添加 TinaCloud
audit [options] 审核你的架构和文件以检查错误
search-index [options] 构建 TinaCMS 搜索索引并上传到 TinaCloud
doctor [options] 检查直接 TinaCMS 依赖项与 npm 最新版本的对比
help [command] 显示命令的帮助信息

常用选项

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

参数

描述

-c

-c 允许您选择性地将命令作为子进程运行。例如,您可以在 graphQL 服务器旁边运行您的 Next.js 项目 yarn tinacms dev -c next dev

--port <port>

指定运行服务器的端口。(默认 4001)

--datalayer-port <port>

指定运行本地级别服务器的端口。(默认 9000)

--noWatch

不在文件更改时重新生成配置。此选项在 CI 中构建或不想监视文件系统更改时很有用。

--noSDK

不生成生成的客户端 SDK。有关 SDK 的更多详细信息,请阅读此处

-v,--verbose

增加日志输出的详细程度(默认:false)

--rootPath

指定运行 CLI 的根目录(默认为当前工作目录)

--noTelemetry

不报告匿名遥测数据

基本用法:

"tinacms dev"

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

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

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

NextJS 示例:
tinacms dev -c \"next dev\"
其他 SSG 框架示例
tinacms dev -c \"<Yor Dev Command>\"

"tinacms build"

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

选项

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

参数

描述

--tina-graphql-version

指定后端将使用的 @tinacms/graphql 版本。(仅在高级情况下需要)

--local

将启动本地 Graphql 服务器并生成本地客户端。这对于静态构建很有用,但不适用于 SSR

--content=local

在构建期间从本地文件系统获取内容,因此不会进行 TinaCloud 内容 API 调用,而生成的客户端在运行时仍指向 TinaCloud。推荐用于有许多页面的 SSG 网站。

--skip-cloud-checks

跳过 TinaCloud 检查(危险且不推荐)

--skip-search-indexing

跳过搜索索引

--no-client-build-cache

禁用本地客户端的查询自动缓存

示例:

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

tinacms build && next build

使用 SSG 的生产构建

tinacms build && <Your SSG build command>

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

tinacms build --local -c "next build"

这将会

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

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

tinacms build --content=local -c "next build"

这将会

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

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

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

需要注意的几点:

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

"npx @tinacms/cli@latest init"

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

这将会:

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

参数

描述

--noTelemetry

禁用开源遥测

"tinacms audit"

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

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

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

选项

参数

描述

--clean

使用此标志时,它会将实际的 Graphql 变更提交到文件系统。这意味着它将清除架构中未定义的任何字段。最好在执行此操作之前进行 git commit,以便可以轻松撤销意外更改。

-v,--verbose

增加日志输出的详细程度(默认:false)

"tinacms search-index"

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

"tinacms doctor"

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

该命令:

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

参数

描述

--rootPath <path>

指定要检查的根目录(默认为当前工作目录)

--json

打印机器可读的 JSON 输出而不是格式化的表格

--timeout <ms>

npm 注册表请求超时时间(毫秒)(默认:5000)