在不到 10 分钟的时间内将 Shopify 后端转变为开源和无头后端

2025-06-09

在不到 10 分钟的时间内将 Shopify 后端转变为开源和无头后端

在本文中,我将向您展示如何在不到 10 分钟的时间内将所有产品和系列从 Shopify 后端迁移到开源无头商务后端Medusa 。

Medusa 是一款开源的 Shopify 替代方案,它为您提供了构建和运营网店所需的所有基础功能。下面,我将首先向您介绍 Medusa 的功能。然后,我将指导您如何使用该插件快速将您的 Shopify 产品和系列导入 Medusa。最后,我将更深入地探讨您应该考虑从 Shopify 迁移到开源无头平台的一些原因。

为什么使用 Medusa

Medusa一个开源的无头商务平台,它允许您完全自定义和组合您的堆栈以满足您的需求。您不必受制于所有组件都紧密耦合的单体架构。其主要优势包括:

  1. 它为您提供充分的灵活性,让您可以构建任何类型的前端——Medusa 在Next.jsGatsby中提供了 Starter,可以开箱即用地设置高性能店面,让您在开始根据需求进行自定义之前有一个良好的起点。您可以在此处查看 Starter 的演示
  2. 开源特性允许您自定义核心引擎,以满足更高级的业务场景和需求,而这些需求通常超出了单体平台的范畴。代码库旨在实现可扩展和可定制,从您第一次尝试添加自己的功能时就能感受到这一点。
  3. Medusa 的插件架构直观易用,让您轻松管理集成、切换供应商并快速发展。它甚至预置了大量内容管理系统 (CMS)、支付、配送、分析、营销等集成功能。您可以点击此处查看所有集成。
  4. 在功能方面,Medusa 也提供了一些独特的附加功能,使其脱颖而出,例如可以自定义区域货币、运输和付款方式,这对于在 Shopify 上运营并希望跨市场销售的商家来说,是一个较为常见的问题。此外,Medusa 还提供退货、换货和索赔处理等全自动化流程,方便客服人员使用。

因此,从 Shopify 这样的单体式解决方案迁移到无头开源解决方案有很多理由。在下一节中,我们将讲解这种迁移过程是如何轻松便捷的。

如何将数据从 Shopify 迁移到 Medusa

在本文的这一部分中,您将了解如何使用 Medusa 的插件将您的产品和系列从 Shopify 导入 Medusa。

本节假设您已拥有一个 Shopify 商店并运行,其中包含要导入的产品。此外,还假设您已设置好 Medusa 并准备使用。如果没有,您应该查看本教程,了解如何设置和运行 Medusa

就我而言,我的 Shopify 商店中有 30 种产品,每种产品都有许多变体和属性。

Shopify 产品

Shopify 产品

创建私人 Shopify 应用

为了能够将 Shopify 中的数据导入 Medusa,您需要在商店中创建一个具有有限权限的应用程序。这将为您提供不同类型的密钥来访问应用程序和商店中的数据。

打开商店的控制面板。然后,从侧边栏中选择“应用”。然后,向下滚动并点击“管理私人应用”

管理私人应用程序链接

如果您之前没有启用私人应用程序,系统会要求您先启用它们。单击启用私人应用程序开发以启用它。

启用私有应用开发后,您将能够创建私有应用。点击“创建私有应用”即可开始。

创建私人应用程序

然后,您需要输入应用名称和电子邮件地址。然后,向下滚动到“管理 API”部分,点击“显示非活动管理 API 权限”。向下滚动到“产品”部分,并从下拉菜单中选择“读取权限”。Medusa 只需要读取产品和系列。

产品权限

向下滚动到页面末尾,点击“保存”按钮。然后在弹出的窗口中点击“创建应用” 。

创建应用后,您将能够看到一组密钥,例如 API 密钥和密码。插件需要密码,因此请妥善保管,以便下一步使用。

将 medusa-source-shopify 添加到您的 Medusa 商店

现在,您需要将Shopify 插件集成到您的 Medusa 服务器中。要集成该插件,您需要以下内容:

  1. 您要链接到的 Shopify 域名和 Shopify 应用的密码。
  2. 与您的 Medusa 服务器一起使用的 PostgreSQL 数据库。

在本文的这一点上,假设您已经准备好所有这些要求。

在 Medusa 服务器安装中打开终端并运行以下命令来安装插件:

    npm i medusa-source-shopify
Enter fullscreen mode Exit fullscreen mode

然后,.env添加以下新变量:

    SHOPIFY_DOMAIN=
    SHOPIFY_PASSWORD=
Enter fullscreen mode Exit fullscreen mode

SHOPIFY_DOMAIN您的 Shopify 商店的子域名在哪里(例如,我的商店是 shahednasser.myshopify.com,因此值应该是 shahednasser),并且SHOPIFY_PASSWORD是您之前创建应用程序时生成的密码。

然后,打开medusa-config.js并向plugins数组中添加一个新条目:

    const plugins = [
      ...,
      {
        resolve: 'medusa-source-shopify',
        options: {
          domain: process.env.SHOPIFY_DOMAIN,
          password: process.env.SHOPIFY_PASSWORD
        }
      }
    ];
Enter fullscreen mode Exit fullscreen mode

这会将 Shopify 插件添加到您的 Medusa 服务器中,并从您刚刚添加的环境变量中传递域和密码的选项。

这就是将 Medusa 与 Shopify 集成并导入数据所需的全部步骤。现在您只需运行服务器即可:

npm start
Enter fullscreen mode Exit fullscreen mode

服务器会将 Shopify 中的所有产品和系列导入到您的 Medusa 商店。服务器每次启动时都会执行此操作,因此您的产品和系列将在服务器重启时自动同步。

您的产品和系列将连同定价、变体以及您在 Shopify 商店中拥有的所有属性和详细信息一起导入。

美杜莎的产品

为什么要从 Shopify 迁移到开源后端

根据BuiltWith 的数据,截至撰写本文时,已有超过 370 万个在线网站使用 Shopify。这​​使得 Shopify 成为最常用的电商平台之一。Shopify 以能够为各种规模的品牌和企业提供便捷的在线业务启动和运营体验而闻名。

尽管 Shopify 拥有诸多优势,吸引着企业和开发者,但这一切都是以牺牲技术栈所有权为代价的。乍一看,尤其是对于那些只想尽快开店的小型企业来说,这似乎是一个无关紧要的细节。

然而,任何从每周几笔销售发展成为一家正规电商的企业,都能体会到完全掌控网店背后的技术栈是多么重要。拥有网站的代码库,并能够根据不断增长的业务需求灵活地进行修改和革新,是一个重要的细节,随着时间的推移,这一点会逐渐显现。不断变化的集成方式、开拓新市场、定制用户体验,只是开发人员在使用单体式平台进行扩展时遇到的一些问题。

除了与扩展相关的问题外,使用开源解决方案意味着您使用的平台永久免费。使用 Shopify 的成本很高,而且会随着规模的扩大而增长,因为它通常与您的网店收入和交易量直接相关。这会增加创建和运营系统的额外成本。

结论

Shopify 是一个功能强大的电商平台,全球数百万个网站都在使用它。虽然它有很多很棒的功能,但也有一些缺点,最明显的就是技术栈所有权。

借助 Medusa 这样的电商平台,您可以完全掌控自己的技术栈,并将 Shopify 的众多实用功能融入到您自己的开源商店中。Medusa 甚至允许您使用这款易于使用的插件将数据从 Shopify 导入到 Medusa,让这一切变得更加简单。

如果您有与 Medusa 相关的任何问题或疑问,请随时通过Discord联系 Medusa 团队

鏂囩珷鏉ユ簮锛�https://dev.to/medusajs/turn-a-shopify-backend-open-source-and-headless-in-less-than-10-minutes-2g8m
PREV
我们为什么要迁移到 TypeScript
NEXT
电子商务的历史:1979 年至 2023 年