TinaCMS CLI
可用命令
常用选项
以下是一些可以在 tinacms dev 和 tinacms build 中使用的常用选项
参数 | 描述 |
|---|---|
|
|
| 指定运行服务器的端口。(默认 4001) |
| 指定运行本地级别服务器的端口。(默认 9000) |
| 不在文件更改时重新生成配置。此选项适合在 CI 中构建时添加,或者如果您不想监视文件系统的更改。 |
| 不生成生成的客户端 SDK。阅读此处 了解有关 SDK 的更多详细信息。 |
| 增加日志输出的详细程度(默认:false) |
| 指定运行 CLI 的根目录(默认为当前工作目录) |
| 不报告匿名遥测数据 |
基本用法:
"tinacms dev"
要运行此命令,您必须有一个有效的tina/config.{ts,tsx,js,jsx}文件。
dev 将把架构编译成静态文件,为您的项目生成 TypeScript 类型,并在 http://localhost:4001 上启动一个 graphQL 服务器。
此命令接受在常用选项中列出的参数
NextJS 示例:
其他 SSG 框架示例
"tinacms build"
此命令编译并验证架构,生成客户端和类型。它还将确保您的内容已完成索引。
选项
此命令接受所有常用选项以及其他一些选项:
参数 | 描述 |
|---|---|
| 指定后端将使用的 |
| 将启动本地 Graphql 服务器并生成本地客户端。这对于静态构建很有用,但不适用于 SSR |
| 在构建期间从本地文件系统获取内容,因此不会进行 TinaCloud 内容 API 调用,而生成的客户端在运行时仍指向 TinaCloud。推荐用于有许多页面的 SSG 网站。 |
| 跳过 TinaCloud 检查(危险且不推荐) |
| 跳过搜索索引 |
| 禁用本地客户端的查询自动缓存 |
示例:
使用 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 次。
由于生成的客户端是生产客户端,branch、clientId 和 token 必须在您的 TinaCMS 配置中配置,与正常 tinacms build 使用的值相同。
需要了解的一些事项:
- 在构建期间跳过搜索索引(会发出警告)。如果依赖搜索,请单独重新索引。
- TinaCloud 验证检查(分支状态、架构匹配)仍会运行;传递
--skip-cloud-checks以跳过它们。 - 如果同时传递了
--local和--content=local,则--local优先。
"npx @tinacms/cli@latest init"
init 命令必须在现有项目中运行(例如 NextJS 项目、Hugo、Jekyll 等)。
这将会:
- 安装 TinaCMS 所需的所有依赖项。
- 在
tina目录中定义基本内容架构。 - 在演示目录中创建示例内容。
- 编辑
package.json以使dev、build和start脚本运行 tina GraphQL API。
选项
参数 | 描述 |
|---|---|
| 禁用开源遥测数据 |
"tinacms audit"
audit 命令用于检查文件中的错误。它目前执行两项操作。
- 检查文件是否具有正确的扩展名
- 将每个文件作为 Graphql 变更提交并检查 Graphql 错误
默认情况下,变更不会更改文件的内容。
选项
参数 | 描述 |
|---|---|
| 使用此标志时,它会将实际的 Graphql 变更提交到文件系统。这意味着它将清除架构中未定义的任何字段。最好在执行此操作之前进行 |
| 增加日志输出的详细程度(默认:false) |
"tinacms search-index"
此命令使用您存储库中的内容构建搜索索引并将其上传到 TinaCloud。
"tinacms doctor"
doctor 命令检查您项目中安装的 TinaCMS 包是否与 npm latest dist-tag 一致。它回答了“我是否是最新的?”这个问题——CLI 对应于 /versions 页面。
该命令:
- 读取您的
package.json并从node_modules或您的项目锁定文件中解析已安装的版本(支持package-lock.json、pnpm-lock.yaml和yarn.lock)。 - 过滤到 TinaCMS 包系列:
tinacms、@tinacms/*、tinacms-*、next-tinacms-*和create-tina-app。 - 并行从
registry.npmjs.org获取每个已安装包的dist-tags.latest。 - 打印一个包含声明的、已安装的和最新的版本的表格,并带有状态列(
CURRENT、OUTDATED、LOCAL或UNKNOWN)。 - 如果任何包过时或无法解析,则以代码
1退出,因此它对 CI 友好。
选项
参数 | 描述 |
|---|---|
| 指定要检查的根目录(默认为当前工作目录) |
| 打印机器可读的 JSON 输出而不是格式化的表格 |
| npm 注册表请求超时时间(毫秒)(默认:5000) |