用于主题的Shopify CLI命令

本文列出了用于创建主题相关的Shopify CLI 的命令。

本组命令使用的语法是 shopify [topic] [command]。

注意
第一次使用 shopify 主题命令与商店交互时,需要在命令中传递 –store 标志。您指定的商店将用于以后的命令,直到您使用新值传递 –store 标志。要查看连接到哪个商店,请运行 shopify theme info。

命令概述

主题命令描述
themeinit将 Git 仓库克隆到本地计算机,作为构建主题的起点。
dev将当前主题上传到商店,以便预览。
check调用并运行主题检查,分析主题代码中的错误,确保遵循主题和 Liquid 最佳实践。
list列出您商店中的主题
open返回可以预览指定主题的链接
pull从 Shopify 获取主题文件
push将本地主题文件上传到 Shopify,如果指定了远程版本,则覆盖远程版本。
share将主题作为新的未发布主题上传到主题库中。
publish从主题库中发布一个未发布的主题
package将本地主题文件打包成 ZIP 文件,然后上传到 Shopify。
delete从商店中删除主题
language-server启动语言服务器协议服务器
console启动 Shopify Liquid REPL(读取-评估-打印循环)工具。
info显示有关主题环境的信息
authlogout注销您的 Shopify 账户
configautocorrect启用或禁用命令自动更正
nonehelp列出可用命令并说明其作用
version显示您正在运行的 Shopify CLI 版本。
upgrade将 @shopify/cli 和 @shopify/theme 软件包升级到最新版本。
search在 Shopify.dev 上开始搜索

init

克隆一个 Git 仓库到本地计算机,作为构建主题的起点。

如果未指定 Git 仓库,则此命令会在当前文件夹中创建 Shopify 示例主题 Dawn 的副本,并指定名称。如果没有提供名称,系统会提示您输入一个名称。

shopify theme init [name]

注意事项
如果您正在为 Shopify 主题商店创建主题,那么您可以使用 Dawn 作为起点。但是,您提交的主题必须与 Dawn 有实质性的不同,这样才能为用户提供附加价值。

init flags

Flag别名描述
–clone-url <URL>-u <URL>您想要克隆的 Git 存储库的网址。如果未指定网址,则将使用 https://github.com/Shopify/dawn.git。
–latest克隆版本库中的最新版本,而不是版本库主分支的内容。
–path <PATH>主题目录的路径
–verbose在日志中提供更详细的输出。
–no-color禁用日志中的彩色输出

dev

将当前主题作为指定主题或开发主题上传到商店,以便预览。

此命令会返回以下信息:

  • 指向开发主题的链接 http://127.0.0.1:9292。该 URL 可以热重载 CSS 和分区的本地更改,或在文件更改时刷新整个页面,让你可以使用商店的数据实时预览更改。你可以使用 –host 和 –port 指定不同的网络接口和端口。
  • Shopify 管理中的主题编辑器链接。
  • 可与其他开发者分享的预览链接。

如果您在当前环境下已经有一个开发主题,那么这条命令会用您的本地主题替换开发主题。您可以使用 –theme-editor-sync 标记覆盖此功能。

注意事项
使用 http://127.0.0.1:9292 无法预览自定义checkout。

运行 shopify auth logout时,开发主题会被删除。如果您需要一个注销后仍可使用的预览链接,则应分享您的主题或推送未发布的主题到您商店中。

您只能在符合 Shopify 默认主题文件夹结构的目录下运行此命令。

shopify theme dev

dev flags

Flag别名描述
–store <store>-s <store>用于预览主题的开发商店。
–store flag接受以下输入:
商店前缀 (johns-apparel)
myshopify.com URL (johns-apparel.myshopify.com, https://johns-apparel.myshopify.com)
–password商店的自定义应用访问令牌或主题访问密码。
–theme <NAME_OR_ID>-t <NAME_OR_ID>您要预览的主题的 ID 或名称。如果不使用此标记,则会使用新的或现有的开发主题预览主题。
–host <IP>网络服务器监听的网络接口。默认值为 127.0.0.1。
–port <PORT>为主题预览提供服务的本地端口
–live-reload <MODE>对主题进行更改时重新加载内容的级别。
可接受以下值:
hot-reload – 对 CSS 和分区的本地更改进行热重载(默认值)
full-page – 文件修改时刷新整个页面
off – 关闭实时重载
–poll强制轮询适配器观察文件更改。如果实时重载没有达到预期效果,可以尝试使用此选项。
–theme-editor-sync启用主题 JSON 文件的双向同步。启用此选项后,在 Shopify 管理器的主题编辑器中所做的更改会应用到主题的本地副本。

如果使用此标记运行 dev 命令,并且当前环境中已经有开发主题,则会比较本地和远程主题。如果本地主题副本和远程开发主题中的文件存在任何差异,那么差异文件将被列出。系统会提示你覆盖本地或远程版本,或合并文件。
–ignore-x跳过与指定模式匹配的任何文件的热重载。在一条命令中多次使用该标记,可指定多个要忽略的模式。
如果文件同时符合 –only 和 –ignore 中指定的模式,则该文件将被忽略。
如果使用 .shopifyignore 将文件排除在外,则 .shopifyignore 和 –ignore 标志的内容都将有效。
接受以下格式的文件引用:
简单文件名:templates/product.temp.json
通配符:config/_secret.json、.jpg
正则表达式: /.jpe?g$/。如果在 shell 中输入命令,则可能需要添加额外的转义字符。
–only-o热重载只会重载与指定模式匹配的文件。在一条命令中多次使用该标记可指定多个模式。
接受以下格式的文件引用:
简单文件名:templates/product.temp.json
通配符:config/_secret.json、.jpg
正则表达式: /.jpe?g$/。如果在 shell 中输入命令,则可能需要添加额外的转义字符。
–environment
<ENV_NAME>
-e <ENV_NAME>您要使用的环境。
–path <PATH>主题目录的路径
–notify <PATH_OR_URL>事件发生时要通知的文件路径或 URL。文件路径是指当闲置时希望更新的文件。URL 路径是您希望webhook发布报告文件变化的位置。
–verbose在日志中提供更详细的输出。
–no-color禁用日志中的彩色输出

check

调用并运行主题检查,分析主题代码中的错误,确保遵循主题和 Liquid 最佳实践。

shopify theme check

check flags

Flag别名描述
–config <PATH>-C <PATH>自定义主题检查配置的路径。如果.theme-check.yml 存在于正在分析的目录中,则该配置会覆盖.theme-check.yml。
–category <CATEGORY>-c <CATEGORY>只运行指定类别的检查。您可以使用该标记的多个实例来指定多个类别。
–exclude-category <CATEGORY>-x <CATEGORY>运行指定类别以外的所有检查。您可以使用此标记的多个实例来指定多个类别。
–fail-level <LEVEL>导致主题检查运行失败的严重程度(退出代码 1)。选项包括错误、建议和样式。
–auto-correct-a自动修正可纠正的违规行为
–init生成新的主题检查配置文件
–output-o将检查结果输出到文件。选项包括 json 和文本(默认)。
–print将活动配置输出到 STDOUT。
–list-l列出活动检查
–environment <ENV_NAME>-e <ENV_NAME>您要使用的环境
–version-v输出正在使用的主题检查版本
–path <path>主题目录的路径
–verbose在日志中提供更详细的输出

list

列出商店中的主题及其 ID 和状态。

shopify theme list

list flags

Flag别名描述
–store <store>-s <store>用于预览主题的开发商店。
–store标记接受以下输入:
商店前缀 (johns-apparel)
myshopify.com URL (johns-apparel.myshopify.com, https://johns-apparel.myshopify.com)
–password商店的自定义应用访问令牌或主题访问密码。
–role <role>只列出具有指定角色的主题。必须是以下角色之一:
live
unpublished
development
–name <name>只列出名称中包含给定字符串的主题。
–id <ID>只列出具有给定 ID 的主题。
–environment <ENV_NAME>-e <ENV_NAME>您要使用的环境
–verbose在日志中提供更详细的输出
–no-color禁用日志中的彩色输出。

open

返回可以预览指定主题的链接。会返回以下链接:

  • 指向 Shopify 管理器中主题编辑器的链接。
  • 可与其他开发者分享的预览链接。

如果您没有指定主题,系统会提示您从商店主题列表中选择要打开的主题。

shopify theme open

open flags

Flag别名描述
–store <store>-s <store>用于预览主题的开发商店。
–store标记接受以下输入:
商店前缀 (johns-apparel)
myshopify.com URL (johns-apparel.myshopify.com, https://johns-apparel.myshopify.com)
--password商店的自定义应用访问令牌或主题访问密码。
–theme <NAME_OR_ID>-t <NAME_OR_ID>要打开的主题的名称或 ID。
–live-l返回实时(已发布)主题的链接。此选项不需要 –theme
–development-d返回开发主题的链接。此选项不需要 –theme.
–editor-e在浏览器中打开指定主题的主题编辑器。
–environment <ENV_NAME>-e <ENV_NAME>您要使用的环境
–verbose在日志中提供更详细的输出
–no-color禁用日志中的彩色输出

pull

从 Shopify 获取主题文件。
如果没有指定主题,系统会提示您从商店主题列表中选择要提取的主题。

shopify theme pull

pull flags

Flag别名描述
–store <store>-s <store>用于预览主题的开发商店。
–store标记接受以下输入:
商店前缀 (johns-apparel)
myshopify.com URL (johns-apparel.myshopify.com, https://johns-apparel.myshopify.com)
–password商店的自定义应用访问令牌或主题访问密码。
–theme <NAME_OR_ID>-t <NAME_OR_ID>您要提取的主题的名称或 ID。
–live-l提取实时(已发布)主题。此选项不需要 –theme
–development-d下载开发主题主题文件。
您可以使用此命令将主题编辑器中对开发主题所做的修改复制到本地主题副本中。
此选项不需要 –theme。
–nodelete-n运行 pull 命令时不删除本地文件
–ignore-x下载主题文件时跳过指定文件。在一条命令中多次使用该标记,可指定多个要忽略的模式。
如果使用 .shopifyignore 将文件排除在外,则 .shopifyignore 和 –ignore 标志的内容都有效。
接受以下格式的文件引用:
简单文件名:templates/product.temp.json
通配符:config/_secret.json、.jpg
正则表达式: /.jpe?g$/。如果在 shell 中输入命令,则可能需要添加额外的转义字符。
–only-o仅下载指定文件。在一条命令中多次使用标志,可指定多个模式。
接受以下格式的文件引用:
简单文件名: templates/product.temp.json
通配符:config/_secret.json、.jpg
正则表达式: /.jpe?g$/。如果在 shell 中输入命令,则可能需要添加额外的转义字符。
–environment <ENV_NAME>-e <ENV_NAME>您要使用的环境。
–path <PATH>主题目录的路径
–verbose在日志中提供更详细的输出
–no-color禁用日志中的彩色输出

push

将本地主题文件上传到 Shopify,覆盖指定的远程版本。

如果没有指定主题,系统会提示您从商店主题列表中选择要覆盖的主题。

只能在与默认 Shopify 主题文件夹结构相匹配的目录中运行此命令。

此命令会返回以下信息:

  • 指向 Shopify 管理器中主题编辑器的链接。
  • 可与他人分享的预览链接。
shopify theme push

如果使用 –json 标志,则主题信息将以 JSON 格式返回,可用作脚本或持续集成的机器可读输入。

shopify theme push --unpublished --json

样例输出

{
  "theme": {
    "id": 108267175958,
    "name": "MyTheme",
    "role": "unpublished",
    "shop": "mystore.myshopify.com",
    "editor_url": "https://mystore.myshopify.com/admin/themes/108267175958/editor",
    "preview_url": "https://mystore.myshopify.com/?preview_theme_id=108267175958"
  }
}

push flags

Flag别名描述
–store <store>-s <store>用于预览主题的开发商店。
–store标记接受以下输入:
商店前缀 (johns-apparel)
myshopify.com URL (johns-apparel.myshopify.com, https://johns-apparel.myshopify.com)
–password商店的自定义应用访问令牌或主题访问密码
–theme <NAME_OR_ID>-t <NAME_OR_ID>要覆盖的主题名称或 ID。
–development-d推送到您的开发主题。如果没有开发主题,则会创建一个。此选项不需要 –theme
–nodelete-n推送本地文件,不删除 Shopify 的远程文件。
–json-j以 JSON 对象形式返回推送主题的相关信息。
–allow-live-a允许 Shopify CLI 覆盖实时(发布)主题。
–live-l推送到实时(已发布)主题。此选项不需要 –theme 或 –allow-live 选项。
–publish-p推送主题后,发布主题,使其在商店上线。
–unpublished-u将主题作为新的未发布主题上传到主题库。
系统会提示你为主题命名。使用 –theme 标志可在命令中提供一个名称。
–ignore-x上传主题时跳过指定文件。在一条命令中多次使用该标记,可指定多个要忽略的模式。
如果使用 .shopifyignore 将文件排除在外,则 .shopifyignore 和 –ignore 标志的内容都会生效。
接受以下格式的文件引用:
简单文件名:templates/product.temp.json
通配符:config/_secret.json、.jpg
正则表达式: /.jpe?g$/。如果在 shell 中输入命令,则可能需要添加额外的转义字符。
–only-o只上传指定文件到 Shopify。在一条命令中多次使用标志,可指定多个模式。
接受以下格式的文件引用:
简单文件名:templates/product.temp.json
通配符:config/_secret.json、.jpg
正则表达式: /.jpe?g$/。如果在 shell 中输入命令,则可能需要添加额外的转义字符。
–environment <ENV_NAME>-e <ENV_NAME>您要使用的环境
–path <PATH>主题目录的路径
–verbose在日志中提供更详细的输出
–no-color禁用日志中的彩色输出。

share

将主题作为一个新的、未发布的主题上传到主题库中。主题会被随机命名。
此命令会返回一个预览链接,你可以与他人分享。

shopify theme share

share flags

Flag别名描述
–store <store>-s <store>用于预览主题的开发商店。
–store标记接受以下输入:
商店前缀 (johns-apparel)
myshopify.com URL (johns-apparel.myshopify.com, https://johns-apparel.myshopify.com)
–password商店的自定义应用访问令牌或主题访问密码。
–environment <ENV_NAME>-e <ENV_NAME>您要使用的环境。
–path <PATH>主题目录的路径
–verbose在日志中提供更详细的输出。
–no-color禁用日志中的彩色输出

publish

从主题库中发布一个未发布的主题。

如果没有指定主题 ID,系统会提示您从商店主题列表中选择要发布的主题。

您只能在符合 Shopify 默认主题文件夹结构的目录下运行此命令。

如果您想发布本地主题,则需要先运行 shopify theme push。系统会要求您确认是否要发布指定的主题。您可以使用 –force(强制)标志跳过此确认。

shopify theme publish

publish flags

Flag别名描述
–store <store>-s <store>用于预览主题的开发商店。
–store标记接受以下输入:
商店前缀 (johns-apparel)
myshopify.com URL (johns-apparel.myshopify.com, https://johns-apparel.myshopify.com)
–password商店的自定义应用访问令牌或主题访问密码。
–theme <NAME_OR_ID>-t <NAME_OR_ID>您要发布的主题的名称或 ID。
–environment <ENV_NAME>-e <ENV_NAME>您要使用的环境。
–verbose在日志中提供更详细的输出。
–no-color禁用日志中的彩色输出

package

将本地主题文件打包成 ZIP 文件,并上传到 Shopify。软件包中只包含符合默认 Shopify 主题文件夹结构的文件夹。根据settings_schema.json 文件中的参数,ZIP 文件使用 theme_name-theme_version.zip 名称。

shopify theme package

package flags

Flag描述
–path <PATH>主题目录的路径
–verbose在日志中提供更详细的输出
–no-color禁用日志中的彩色输出

delete

从商店中删除一个主题。

您可以通过 ID 指定多个主题。如果没有指定主题,系统会提示您从商店的主题列表中选择要删除的主题。

在删除指定的主题之前,系统会要求您确认是否要删除这些主题。你可以使用 –force 标记跳过确认。

shopify theme delete

delete flags

Flag别名描述
–store <store>-s <store>用于预览主题的开发商店。
–store标记接受以下输入:
商店前缀 (johns-apparel)
myshopify.com URL (johns-apparel.myshopify.com, https://johns-apparel.myshopify.com)
–password商店的自定义应用访问令牌或主题访问密码
–theme <NAME_OR_ID>-t <NAME_OR_ID>要删除的主题名称或 ID。
–show-all-a在主题列表中显示其他人创建的开发主题。
–development-d推送到您的开发主题。如果没有开发主题,则会创建一个。此选项不需要 –theme
–force-f删除主题,无需确认
–environment <ENV_NAME>-e <ENV_NAME>您要使用的环境
–path <PATH>主题目录的路径
–verbose在日志中提供更详细的输出
–no-color禁用日志中的彩色输出。

language-server

启动语言服务器协议服务器

shopify theme language-server

language-server flags

Flag描述
–path <PATH>主题目录的路径
–verbose在日志中提供更详细的输出
–no-color禁用日志中的彩色输出

console

启动 Shopify Liquid REPL(读取-评估-打印循环)工具。该工具提供一个交互式终端界面,用于评估 Liquid 片段,并使用真实商店数据检查 Liquid 对象、过滤器和标签。

要启动该工具,请使用以下命令:

shopify theme console

您还可以使用 URL 向控制台提供情况,因为某些 Liquid 对象是特定情况的。例如

shopify theme console --url /products/classic-leather-jacket

console flags

Flag别名描述
–store <store>-s <store>用于预览主题的开发商店。
–store标记接受以下输入:
商店前缀 (johns-apparel)
myshopify.com URL (johns-apparel.myshopify.com, https://johns-apparel.myshopify.com)
–password商店的自定义应用访问令牌或主题访问密码
–environment <ENV_NAME>-e <ENV_NAME>您要使用的环境
–port <PORT>为身份验证服务器提供服务的本地端口。
–url <URL>用作控制台数据情况的 URL。某些 Liquid 对象和入口点仅在特定模板中可用,或在不同情况中返回不同的值。如果您没有提供 URL,那么您提供的代码将在商店首页中运行。
–verbose在日志中提供更详细的输出
–no-color禁用日志中的彩色输出。

info

显示有关主题环境的信息,包括当前商店的信息。

shopify theme info

info flags

Flag描述
–verbose在日志中提供更详细的输出
–no-color禁用日志中的彩色输出

logout

退出 Shopify 账户或合作伙伴账户

shopify auth logout

config autocorrect

启用或禁用命令自动更正。默认情况下,自动更正处于关闭状态。

shopify config autocorrect COMMAND

启用自动更正功能后,Shopify CLI 会自动运行更正版本的命令。
禁用自动更正功能时,您需要确认是否要对输入错误的命令进行更正。

命令描述
on启用自动更正。
off禁用自动更正
status检查自动更正是否启用或禁用

help

列出可用命令并说明其作用

shopify help

您可以为任何命令添加帮助标志,以了解更多相关信息。使用 –help 或 -h

shopify dev --help

version

显示您正在运行的 Shopify CLI 版本

shopify version

upgrade

将 @shopify/cli 和 @shopify/theme 软件包升级到最新版本。

shopify upgrade

注意事项
当使用 Homebrew 全局安装 Shopify CLI 时,升级命令不会执行任何操作。在这种情况下,您应使用 Homebrew 更新 CLI 依赖项:

brew upgrade && brew update

在 Shopify.dev 上开始搜索

npm
Yarn
pnpm
# open the search modal on Shopify.dev
npm run shopify search

# search for a term on Shopify.dev
npm run shopify search <query>

# search for a phrase on Shopify.dev
npm run shopify search "<a search query separated by spaces>"
# open the search modal on Shopify.dev
yarn shopify search

# search for a term on Shopify.dev
yarn shopify search <query>

# search for a phrase on Shopify.dev
yarn shopify search "<a search query separated by spaces>"
# open the search modal on Shopify.dev
pnpm shopify search

# search for a term on Shopify.dev
pnpm shopify search <query>

# search for a phrase on Shopify.dev
pnpm shopify search "<a search query separated by spaces>"

搜索 Shopify.dev 文档时,可选择向命令传递一个查询参数。

发表回复

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