营销增长
开发 Shopify 应用、扩展或主题时:用…
适用于在 Shopify 平台上构建应用、结账/后台/POS 扩展、Liquid 主题,或通过 API 管理商品/订单/客户与集成支付/Webhook 的场景。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
开发 Shopify 应用、扩展或主题时特定
解决思路
- 使用 Shopify CLI 作为开发工作流工具,使用 GraphQL Admin API 作为主要数据操作 API,REST Admin API 仅作为旧版维护模式,Polaris UI 保持界面一致,Liquid 编写主题模板。
- 使用扩展点:Checkout UI 自定义结账、Admin UI 扩展后台仪表盘、POS UI 自定义销售点、Customer Account 构建购后页面、Theme App Extensions 嵌入主题功能。
- 安装 Shopify CLI:npm install -g @shopify/cli@latest。
- 验证安装:运行 shopify version。
- 初始化新应用:运行 shopify app init。
- 启动应用开发服务器:运行 shopify app dev。
- 生成扩展:运行 shopify app generate extension --type checkout_ui_extension,可按需替换类型参数。
- 部署应用/扩展:运行 shopify app deploy。
- 初始化主题:运行 shopify theme init。
- 启动主题本地预览:运行 shopify theme dev。
- 从线上商店拉取主题:运行 shopify theme pull --live。
- 推送主题到开发主题:运行 shopify theme push --development。
- App 开发时进入目录:shopify app init 后执行 cd my-app。
- 在 shopify.app.toml 的 [access_scopes] 下将 scopes 设置为 read_products,write_products,read_orders。
- 使用 shopify app dev 启动本地服务器并自动建立隧道。
- 用 shopify app generate extension --type checkout_ui_extension 添加结账扩展。
- 用 shopify app deploy 构建并上传到 Shopify。
- 扩展类型可选:checkout_ui_extension、admin_action、admin_block、pos_ui_extension、function,其中 function 用于 discounts、payment、delivery、validation。
- 扩展工作流:运行 shopify app generate extension,选择类型并配置。
- 扩展本地测试:运行 shopify app dev。
- 扩展发布:运行 shopify app deploy。
- 主题开发:运行 shopify theme init,选择 Dawn 参考主题或从空白开始。
- 主题本地开发:运行 shopify theme dev,在 localhost:9292 预览,并自动同步到开发主题。
- 主题部署:运行 shopify theme push --development 推送到开发主题。
- 主题发布:运行 shopify theme publish --theme=123 设为线上主题。
- 需要集成外部服务、跨多店铺添加功能、构建面向商家的后台工具、程序化管理店铺数据、实现复杂业务逻辑或收费功能时,构建 App。
- 需要自定义结账流程、在后台页面添加字段/功能、创建 POS 操作、实现折扣/支付/配送规则或扩展客户账户页面时,构建 Extension。
- 需要自定义店面设计、独特购物体验、定制产品/集合页、品牌化布局或修改首页/内容页时,构建 Theme。
- 需要后端逻辑与店铺数据加店面 UI 时,使用 App + Theme App Extension 组合;例如产品评论、愿望清单、尺码指南。
- GraphQL 商品查询:使用 query GetProducts($first: Int!) 查询 products(first: $first),返回 edges/node 的 id、title、handle、variants(first: 5) 的 id、price、inventoryQuantity,并读取 pageInfo.hasNextPage 和 endCursor 做分页。
- 结账扩展(React):从 @shopify/ui-extensions-react/checkout 导入 reactExtension、BlockStack、TextField、Checkbox。
- 结账扩展(React):用 export default reactExtension('purchase.checkout.block.render', () => <Extension />) 注册。
- 结账扩展(React):在组件内用 useState 管理状态,并用 BlockStack、TextField 渲染,例如 Gift Message。
- Liquid 商品展示:对 collection.products 循环,输出 product.featured_image | img_url: 'medium'、product.title、product.price | money、product.url,并用 product-card 包裹。
- API 使用:新开发优先使用 GraphQL,REST 仅用于旧版/维护模式。
- API 使用:只请求需要的字段以降低成本。
- API 使用:对大数据集实现分页。
- API 使用:批量处理使用 bulk operations。
- API 使用:遵守速率限制,GraphQL 为基于成本的限制。
- 安全:将 API 凭据存储在环境变量中。
- 安全:验证 webhook 签名。
- 安全:公开应用使用 OAuth。
- 安全:请求最小 access scopes。
- 安全:嵌入式应用实现 session tokens。
- 性能:在合适时缓存 API 响应。
- 性能:在主题中优化图片。
- 性能:最小化 Liquid 逻辑复杂度。
- 性能:扩展使用异步加载。
- 性能:监控 GraphQL 查询成本。
- 测试:使用 development stores 测试。
- 测试:跨不同店铺计划测试。
- 测试:验证移动端响应式。
- 测试:检查可访问性,包括键盘和屏幕阅读器。
- 测试:验证 GDPR 合规。
- 高级主题参考:阅读 references/app-development.md 了解 OAuth、APIs、webhooks、billing。
- 高级主题参考:阅读 references/extensions.md 了解 Checkout、Admin、POS、Functions。
- 高级主题参考:阅读 references/themes.md 了解 Liquid、sections、deployment。
- 交互式初始化 Shopify 项目:运行 python scripts/shopify_init.py。
- 速率限制错误:监控 X-Shopify-Shop-Api-Call-Limit header。
- 速率限制错误:实现 exponential backoff。
- 速率限制错误:大数据集使用 bulk operations。
- 认证失败:验证 access token 有效性。
- 认证失败:检查所需 scopes 是否已授予。
- 认证失败:确保 OAuth 流程已完成。
- 扩展不显示:验证 extension target 正确。
- 扩展不显示:检查扩展是否已发布。
- 扩展不显示:确保应用已安装到商店。
- Webhook 未收到:验证 webhook URL 可访问。
- Webhook 未收到:检查签名验证。
- Webhook 未收到:在 Partner Dashboard 查看日志。
- 官方文档资源:查阅 Shopify Docs https://shopify.dev/docs。
- 官方文档资源:查阅 GraphQL API https://shopify.dev/docs/api/admin-graphql。
- 官方文档资源:查阅 Shopify CLI https://shopify.dev/docs/api/shopify-cli。
- 官方文档资源:查阅 Polaris https://polaris.shopify.com。
- 工具:使用 GraphiQL Explorer,路径为 Admin → Settings → Apps → Develop apps。
- 工具:使用 Partner Dashboard 管理应用。
- 工具:使用 Development stores 免费测试。
- API 版本:每季度发布,格式 YYYY-MM,当前 2025-01。
- API 版本:每个版本支持 12 个月。
- API 版本:版本更新前先测试。
- 注意:本技能覆盖截至 2025 年 1 月的 Shopify 平台;以官方文档为准获取最新更新。
适用边界 · 注意事项
- 不适用于非 Shopify 电商平台或自建商城;这些 CLI 命令、扩展点和 API 都是 Shopify 专用。
- 没有 Shopify Partner 账号、开发商店或无法安装 Shopify CLI 时无法按本流程执行。
- 若只做与 Shopify 无关的通用前端页面,不需要引入 GraphQL Admin API、Liquid 或 Polaris。