如何在本地测试 shopify 主题?

How to test shopify themes locally?

我想知道最好的方法是在本地部署 shopify 主题以在部署前进行测试。我们最近开始使用 deploybot。我们真的很喜欢 deploybot,但我们也想要一种不用等五分钟就可以在备用存储中测试我们的文件的方法。

我将如何做到这一点?

您有一个测试店。你正在研究一个主题。如果您做对了,您对主题所做的任何更改都会自动传输到测试商店。所以你需要做的就是观察你的浏览器,因为你可能也有一个观察者在自动重新加载变化。

多年来我一直这样做,我从不等待 5 分钟进行部署,因为只需几秒钟即可部署更改并查看结果。添加一些智能 Git 挂钩,您甚至可以获得版本控制。

很难在本地预览主题。如果您想快速将本地主题文件与开发商店同步,请查看 Themekit:https://shopify.github.io/themekit/

设置本地工作环境的方法如下: https://www.shopify.com.au/partners/blog/95401862-3-simple-steps-for-setting-up-a-local-shopify-theme-development-environment

  1. 安装主题包:

curl -s https://shopify.github.io/themekit/scripts/install.py | sudo python

https://shopify.github.io/themekit/

  1. 通过在您的 Shopify 后台创建私人应用程序来设置 API 凭据。

Apps > Create private app

  1. 获取您的主题 ID。 访问 name.myshopify.com/admin/themes.json 获取主题和 ID 列表

  2. 创建一个 config.yml 文件并用凭据填充它。它应该看起来像这样:

 development:
  password: 16ef663594568325d64408ebcdeef528
  theme_id: "123"
  store: can-i-buy-a-feeling.myshopify.com
  proxy: http://localhost:3000
  ignore_files:
    - "*.gif"
    - "*.jpg"
    - config/settings_data.json
  1. 让 themekit 侦听任何本地更改并将它们上传到 Shopify。

theme watch

但是商店仍然在线。因为 Shopify 框架托管在 Shopify 上,所以没有本地主机解决方案。

对于 2018 年来到这里的任何人,我们现在可以使用 Slate。

https://shopify.github.io/slate/

关于工作流程的想法,我们有多个开发人员在处理同一个主题,他们可以使用 Slate 在本地查看他们的更改。

我们如何实现这一点

  • 我们有一个开发商店,它是我们生产商店的直接克隆。
  • 每个开发者在开发者商店上创建另一个主题,并在本地分支出 master。然后他们将只使用他们刚刚创建的主题的主题 ID(在他们的 config.yml 中更新)
  • Slate 将观察变化并部署到他们的预览主题并在本地刷新他们的浏览器。
  • 一旦开发人员对他们的更改感到满意,我们就会合并回 master 并部署到我们开发商店的实时(主)主题。
  • 一旦它通过了我们开发商店的所有测试,我们就会使用 slate 推送到生产商店。

编辑 - 用于创建新的部分文件、模板文件、产品模板等

如果没有一个小的解决方法,您将无法创建这些文件并在本地显示它们。

例如,如果您创建一个新的产品模板(product.my-product.liquid),您需要先发布您的预览主题,然后在终端,select 您在 Shopify 中使用的任何产品的新产品模板,然后重新发布您的“主”主题。

您可能需要再执行一次“slate start”才能在本地产品上显示新主题模板,但它会起作用。

这是因为 Shopify 只允许您将产品模板分配给当前活动的主题。