如何在本地开发Shopify主题?

How to develop Shopify themes locally?

我要开发一个 Shopify 主题,我想弄清楚如何在本地 run/edit。如果可能的话,我希望能够做到以下几点:

  1. 将所有 Shopify 主题代码从站点拉到我的本地计算机(最好是单个命令行工具)
  2. 在本地进行编辑,然后 运行 在本地或临时环境中进行编辑
  3. 再次使用命令行工具将所有编辑推送到 Shopify 主站点

这可能吗?

Shopify 已经为 Mac 构建了一个工具,允许您在本地开发您的主题,并与您的商店同步 https://apps.shopify.com/desktop-theme-editor

我对 windows/Linux 等一无所知

您可以在此处使用很多工作流程。

1。任务 运行 人

如果您在本地使用 Gulp 或 G运行t 进行开发,有些库会通过 API 凭据将您的文件上传到商店您必须创建的私人应用程序。大多数工作是通过使用观察器上传您更改的文件。

  1. grunt-shopify
  2. grunt-shopify-upload
  3. gulp-shopify-upload(这是我最喜欢的,因为我使用 Gulp 但有一个已知问题,有时它会停止上传文件,您必须重新启动它)。

2。官方 Shopify 主题套件

Theme Kit 是由 Shopify Employees 构建的跨平台 CLI 工具。它可以在 windows/linux/OS X 上 运行。您可以阅读更多关于它的信息 on Shopify Blog or download it directly。之前提到的 Desktop Theme Editor 的替代品已被弃用,并已被 Theme Kit 取代。

3。第三方 SaaS 应用程序

这些将与持续集成工作流一起工作,而不是观察变化,您在某个分支上的最新推送会上传到您选择的主题。

  1. Beanstalk. More specific information can be found on their landing page for Shopify, here.
  2. Shopify 上的
  3. DeployBot. Their help article 有一些关于如何开始的信息。 两种选择都来自同一家公司。 Here's 他们在博客上所做的两者的比较。

4。第三方库

  1. 还有 an alternative not officially supported by Shopify,这是一个 TextMate Bundle,以防您使用那个 OSX 编辑器。

  2. 有一个类似于主题工具包的非官方扩展 cli,但具有称为 Quickshot 的更多功能,我刚刚根据 Matt 的回复发现它并且看起来非常棒。他们强调的一些特点是:

    • 支持上传到多个 Shopify 商店和主题
    • 易于使用的配置向导
    • Uploads/downloads 并行大大减少传输时间
    • 支持在上传到 Shopify 之前在本地自动编译 scss
    • 支持自动编译 Babel/ES6 成易于使用的模块 - Requirejs 和其他
    • 可以与 .gitignore 文件或自定义 .quickshotignore 文件一起使用。
    • 可以 download/upload Shopify 博客、页面和产品!轻松在商店之间转移它们!甚至元场!并在您最喜欢的编辑器中本地编辑它们。

胡安的回答很到位。

我还知道一个叫 Quickshot 的,我认为它比 Themekit(我使用的)更高级:https://quickshot.readme.io/v2.1/docs

Shopify 最近发布了 Slate,这是一款用于主题开发的新工具。

https://github.com/Shopify/slate

通过运行以下命令安装状态包:

npm install -g @shopify/slate
slate theme theme-name

如果您正在寻找完全脱机的开发,很遗憾,目前无法实现。虽然 Slate/ThemeKit CLI 允许您在自己喜欢的文本编辑器中编写代码,但仍然需要互联网连接,因为它希望始终保持所有内容同步。

截至 2020 年,Shopify 已停止支持 Slate,因此您现在可以使用 Themekit - https://shopify.github.io/themekit/

2022 年更新

目前无法在本地 运行 Shopify。只有其他答案中提到的解决方案可以在本地编辑文件并将其上传到 Shopify。开发难度大

我正在研究一种解决方案,在本地模拟 Shopify,使开发类似于 WordPress、React 或 Angular。因此,您将立即看到更改,即使无需重新加载页面,也无需每次都将文件上传到 Shopify。

您可以在此处阅读更多内容:https://link.medium.com/6SGd1kcVdnb