---
title: "主题命令"

doc_type: static
doc_category: static
doc_version: v20270301
source_url:
  html: 'https://developer.shopline.com/zh-hans-cn/docs/online-store-3-0-themes/development-tools/cli/theme-commands'
  md: 'https://developer.shopline.com/zh-hans-cn/docs/online-store-3-0-themes/development-tools/cli/theme-commands.md'
---
# 主题命令

本文列出了 SHOPLINE CLI 的主题命令。命令语法为 `sl theme [command]`。
如需查看命令帮助，可运行 `sl [command] -h`。

---

## init{#init}
初始化主题，从 GitHub 拉取主题文件到本地计算机。

```plain
sl theme init <THEME_NAME>
```

**参数说明**

| **参数** | **是否必填** | **描述** |
| --- | --- | --- |
| THEME_NAME | 是 | 为主题指定的名称。克隆文件存储在具有此名称的文件夹中。<br/>主题名称可以为以下形式：<br/><ul> <li>`demo-theme`：将会在当前目录中新建文件夹存储新主题文件，主题名作为文件夹名。</li><li> 也可以是 `…/shopline/demo-theme`（相对路径形式）：将会根据输入的路径和当前运行路径，新建文件夹存储新主题文件，主题名为路径的 basename。</li></ul> |
| --path \<PATH> | 否 | 你的主题目录工作路径。 |


---

## list{#ogVRk}
列出当前登录店铺的所有主题，包括 ID、名称、状态等信息。

```shell
sl theme list
```

---

## serve{#X1eER}
将当前本地主题作为开发主题上传到你连接的店铺，并且进行实时预览开发。

```plain
sl theme serve
```

此命令还返回以下信息：

+ 本地预览链接：`http://127.0.0.1:8282`。此链接指向你的开发主题，可以热重载对本地文件的更改，或在文件更改时刷新整个页面，允许你使用店铺的数据实时预览更改。
+ SHOPLINE 商家后台中主题编辑器的链接。
+ 你可以与其他开发人员共享的预览链接。

如果你已经有当前环境的开发主题，那么此命令会将开发主题替换为你的本地主题。

> **提示**
>
> 你无法使用 `http://127.0.0.1:8282` 预览结账页。




> **注意**
>
> + 当运行 `sl logout` 命令时会删除开发主题。
> + 你只能在与 [默认 SHOPLINE 主题目录结构](https://developer.shopline.com/zh-hans-cn/docs/online-store-3-0-themes/theme-structure/overview.md) 匹配的目录中运行此命令。





**可选参数**

| **参数** | **缩写** | **描述** |
| --- | --- | --- |
| --port \<PORT> |  | 指定主题预览的本地端口。<br/>默认值：`8282` |
| --live-reload \<MODE> |  | 对主题进行更改时重加载内容的模式。有效枚举值包含：<ul><li>`full-page`（默认）：修改文件时刷新整个页面</li><li>`off`：停用实时刷新，任何文件的改动都不会刷新整个页面</li></ul> |
| --theme-editor-sync |  | 为主题 JSON 文件启用双向同步。启用此选项后，在 SHOPLINE 商家后台的模版编辑器中所做的更改将应用于模版的本地副本。 |
| --only | -o | 仅拉取指定的文件，可在单个命令中使用多次 `--only` 指定多个文件，支持以下格式：<br/><ul><li>简单的文件名：`templates/collection.temp.json`</li><li>通配符：`config/*_secret.json`，`*.jpg`</li></ul> |
| --ignore | -x | 跳过指定的文件拉取，可在单个命令中使用多次 `--ignore` 指定多个文件，支持以下格式：<br/><ul><li>简单的文件名：`templates/product.temp.json`</li><li>通配符：`config/*_secret.json`，`*.jpg`</li></ul>  |
| --path \<PATH> |  | 你的主题目录工作路径。 |
| --environment \<ENV_NAME> | -e \<ENV_NAME> | 你想使用的环境配置。 |


---

## pull{#cuOwl}
从店铺获取主题文件。如果未指定主题，则会提示你从店铺的主题列表中选择主题。若当前目录非空时，CLI 将提供两个选项供你选择：

+ 覆盖同名文件（默认）
+ 清空当前目录后，拉取主题文件

```plain
sl theme pull
```

**可选参数**

| 参数 | 缩写 | 描述 |
| --- | --- | --- |
| --theme |  | 店铺主题 ID（可以通过 [list](#ogVRk) 命令获取）。 |
| --live | -l | 拉取已发布主题。 |
| --development | -d | 下载远程开发主题代码到本地。 |
| --only | -o | 仅拉取指定的文件，可在单个命令中使用多次 `--only` 指定多个文件，支持以下格式：<br/><ul><li>简单的文件名：`templates/collection.temp.json`</li><li>通配符：`config/*_secret.json`，`*.jpg`</li></ul> |
| --ignore | -x | 跳过指定的文件拉取，可在单个命令中使用多次 `--ignore` 指定多个文件，支持以下格式：<br/><ul><li>简单的文件名：`templates/collection.temp.json`</li><li>通配符：`config/*_secret.json`，`*.jpg`</li></ul> |
| --nodelete | -n | 运行 pull 命令，不删除本地文件。 |
| --path \<PATH> |  | 你的主题目录路径。 |
| --environment \<ENV_NAME> | -e \<ENV_NAME> | 你想使用的环境。 |


---

## push{#Gnj3S}
将你的本地主题文件上传到店铺。

如果指定主题，则覆盖远程主题。如果未指定主题，则会提示你从店铺的主题列表中选择要覆盖的主题。

```html
sl theme push
```

此命令返回以下信息：

+ 你可以与他人共享的预览链接。
+ SHOPLINE 商家后台的主题编辑器链接。

**可选参数**

| 参数 | 缩写 | 描述 |
| --- | --- | --- |
| --theme |  | 店铺主题 ID（可以通过 [list](#ogVRk) 命令找到）。 |
| --development | -d | 推送到开发主题。如果你没有开发主题，则会创建一个。 |
| --only | -o | 仅推送指定的文件，可在单个命令中使用多次 `--only` 指定多个文件，支持以下格式：<br/><ul><li>简单的文件名：`templates/collection.temp.json`</li><li>通配符：`config/*_secret.json`，`*.jpg`</li></ul> |
| --ignore | -x | 跳过指定的文件推送，可在单个命令中使用多次 `--ignore` 指定多个文件，支持以下格式：<br/><ul><li>简单的文件名：`templates/collection.temp.json`</li><li>通配符：`config/*_secret.json`，`*.jpg`</li></ul> |
| --nodelete | -n | 将你的本地文件推送到 SHOPLINE，而不删除远程文件。 |
| --allow-live | -a | 允许 SHOPLINE CLI 覆盖已发布的主题。 |
| --live | -l | 推送到已发布主题。此选项无需 `--theme` 或 `--allow-live`。 |
| --unpublished | -u | 将主题上传到主题库，作为一个新的未发布主题。系统会提示你为主题提供一个名称。 |
| --path \<PATH> |  | 你的主题目录工作路径。 |
| --environment \<ENV_NAME> | -e \<ENV_NAME> | 你想使用的环境。 |


---

## package{#yH4zB}
将你的本地主题文件打包成可以上传到 SHOPLINE 店铺的 zip 文件。

zip 文件中仅包含与默认 SHOPLINE 主题目录结构匹配的文件夹。

zip 文件名将根据 `theme.schema.json` 文件中的参数生成，格式为 `theme_name-theme_version.zip`。

```html
sl theme package
```

**可选参数**

| 参数 | 描述 |
| --- | --- |
| --path \<PATH> | 你的主题目录工作路径。 |


