用于 Shopify CLI 的主题环境

许多命令配置,例如与命令一起使用的主题和商店,都是通过标志传递的。为了避免在每条命令中传递多个标志,并方便切换项目或情景,可以使用环境。环境是命令配置的集合,可以使用单个 –environment 标志按名称引用。

以下情况可能需要使用环境:

  • 需要频繁切换开发商店。
  • 使用主题访问密码访问多个商店空间。
  • 需要将项目部署到主题的开发、暂存和生产实例中。

您需要在工作的每个主题库中配置环境。使用 shopify.theme.toml 配置文件配置环境。

配置环境

要为本地主题项目配置环境,请执行以下操作:

  • 在项目根目录下创建名为 shopify.theme.toml 的文件。
  • 使用 [environments.YOUR_ENVIRONMENT_NAME] 语法为要创建的每个环境添加一个表格标题。
  • 在创建的标题下方,为要用于环境的标志和标志值添加键值对。

您可以为任何标志设置特定于环境的值,但 environment、path、verbose 除外。

要在环境中使用Boolean 标志,请指定 true 作为值。

[environments.env1]
theme = "123456789012"
store = "my-store"
password  = "shptka_123456"
ignore = "sections/header.liquid"

[environments.env2]
store = "another-store"
path = "./dist"
ignore = ["sections/announcement-bar.liquid", "sections/header.liquid"]
output = "json"
live = true
allow-live = true

注意事项
某些共享标记(如 force)会根据命令的不同而有不同的含义。在某些情况下,在环境中加入这些标记可能会产生意想不到的后果。例如,在删除命令中使用强制会在未经确认的情况下删除主题。

使用环境

要使用环境,请将环境名称与命令一起传递:

shopify theme dev --environment env1

# using the flag alias
shopify theme dev -e env1
shopify theme dev --environment env1

╭─ info ─────────────────────────────────────────────────╮
│                                                        │
│  Using applicable flags from env1 environment:         │
│                                                        │
│    • store: my-store                                   │
│    • password: *******456                              │
│    • ignore = "sections/header.liquid"                 │
│                                                        │
╰────────────────────────────────────────────────────────╯

如何应用环境标记

您可以在任何主题命令中使用环境。环境标志的应用规则如下:

1.如果环境中包含一个标记,但运行的命令不接受该标记,那么该标记将被忽略。
2.如果环境中的标志使用了错误的数据类型,或应用了相互排斥的标志,则会出现错误。
3.标记值按优先顺序应用:
命令级标志
环境变量
shopify.theme.toml 中的环境设置
这意味着,如果将标志作为命令的一部分传递,则将使用命令中传递的标志值,而不是环境标志值:

shopify theme dev --environment env1 --store my-new-store --password shptka_102938

╭─ info ─────────────────────────────────────────────────╮
│                                                        │
│  Using applicable flags from env1 environment:         │
│                                                        │
│    • ignore = "sections/header.liquid"                 │
│                                                        │
╰────────────────────────────────────────────────────────╯

如何应用环境标记

您可以在任何主题命令中使用环境。环境标志的应用规则如下:

  • 如果环境中包含一个标记,但运行的命令不接受该标记,那么该标记将被忽略。
  • 如果环境中的标志使用了错误的数据类型,或应用了相互排斥的标志,则会出现错误。
  • 标记值按优先顺序应用:1.命令级标志 2.环境变量 3.shopify.theme.toml 中的环境设置

这意味着,如果将标志作为命令的一部分传递,则将使用命令中传递的标志值,而不是环境标志值:

shopify theme dev --environment env1 --store my-new-store --password shptka_102938

╭─ info ─────────────────────────────────────────────────╮
│                                                        │
│  Using applicable flags from env1 environment:         │
│                                                        │
│    • ignore = "sections/header.liquid"                 │
│                                                        │
╰────────────────────────────────────────────────────────╯

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注