营销增长
开发或调试 Shopify 主题、应用与 headless…
当项目涉及 Shopify 主题(.liquid、theme.json、sections)、自定义应用(shopify.app.toml、OAuth、webhooks)、Storefront API/Hydrogen headless 前端或 checkout UI 扩展时,用这套流程完成选型、搭建、实现、校验与部署监控。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
开发或调试 Shopify 主题、应用与特定
解决思路
- 需求分析:先判断项目适合主题(theme)、应用(app)还是 headless 方案。
- 架构搭建:用 `shopify theme init` 或 `shopify app create` 初始化脚手架;配置 `shopify.app.toml` 与主题 schema。
- 实现:编写 Liquid 模板、编写 GraphQL 查询,或开发应用功能。
- 校验:运行 `shopify theme check` 做 Liquid lint,若报错先修复并重新运行再继续;运行 `shopify app dev` 在本地验证应用;在 sandbox 中测试 checkout 扩展;任何步骤校验失败都要先解决全部已报告问题再进入部署。
- 部署与监控:主题用 `shopify theme push` 推送,应用用 `shopify app deploy` 发布;部署后查看 Shopify 错误日志与性能指标。
- 按上下文加载参考文档:Liquid 模板/模板定制 → `references/liquid-templating.md`;headless/Hydrogen/自定义前端 → `references/storefront-api.md`;构建应用/OAuth/webhooks → `references/app-development.md`;checkout UI 扩展与 Shopify Functions → `references/checkout-customization.md`;主题速度/资源优化/缓存 → `references/performance-optimization.md`。
- Liquid product 模板写法:输出 `product.title`,用 `product.metafields.custom.care_instructions.value` 读取 metafield,遍历 `product.variants` 输出 option(variant 不可用时加 `disabled`),价格用 `money` 过滤器格式化,描述用 `metafield_tag` 渲染。
- Liquid 集合筛选写法(Online Store 2.0):遍历 `collection.filters`,为每个 `filter.values` 输出 checkbox,使用 `value.param_name`、`value.value`、`value.active` 控制勾选状态,并显示 `value.label` 与 `value.count`。
- Storefront API 查询写法:用 GraphQL 按 `handle` 查询 `product`,字段包含 id、title、descriptionHtml、featuredImage(用 `url(transform: { maxWidth: 800, preferredContentType: WEBP })` 与 altText)、`variants(first: 10)`(id、title、price{amount currencyCode}、availableForSale、selectedOptions)以及 `metafield(namespace, key)`。
- Shopify CLI 常用命令:主题侧用 `shopify theme dev --store=<store>.myshopify.com`(热重载实时预览)、`shopify theme check`(Liquid lint)、`shopify theme push --only templates/ sections/`(部分推送)、`shopify theme pull`(同步远端改动);应用侧用 `shopify app create node`、`shopify app dev`(本地开发 + ngrok 隧道)、`shopify app deploy`、`shopify app generate extension`;GraphQL 用 `shopify app generate graphql` 生成带类型的 hooks。
- 应用端 Admin API 调用写法:在 loader 中用 `authenticate.admin(request)` 获取 `admin`,再用 `admin.graphql(...)` 发起查询(如 shop name、myshopifyDomain、plan.displayName),解析 `response.json()` 后返回数据。
- 必须使用 Liquid 2.0 语法编写主题。
- 必须实现正确的 metafield 处理。
- 必须使用 Storefront API 2024-10 或更新版本。
- 必须用 Shopify CDN 图片过滤器优化图片。
- 必须遵循 Shopify CLI 工作流。
- 内嵌应用必须使用 App Bridge。
- 必须为 API 调用实现错误处理。
- 必须遵循 Shopify 主题架构模式。
- 应用开发必须使用 TypeScript。
- 必须在 sandbox 中测试 checkout 扩展。
- 每次主题部署前必须运行 `shopify theme check`。
- 禁止在主题代码中硬编码 API 凭证。
- 禁止超出 Storefront API 速率限制(2000 points/sec)。
- 禁止使用已弃用的 REST Admin API 端点。
- 禁止跳过客户数据的 GDPR 合规。
- 禁止部署未测试的 checkout 扩展。
- 禁止在 Liquid 中使用同步 API 调用(已弃用)。
- 禁止忽略主题性能指标。
- 禁止在 metafields 中未加密存储敏感数据。
- 交付时提供:完整文件结构与规范命名;带类型的 Liquid/GraphQL/TypeScript 代码;配置文件(`shopify.app.toml`、schema settings);所需的 API scopes 与权限;测试方法与部署步骤。
适用边界 · 注意事项
- 项目不基于 Shopify(如自建电商、其他建站平台),或完全不涉及 Liquid、Storefront API、Shopify Functions。
- 没有 Shopify 商店(含 Plus)、Partner/CLI 环境或相应账号权限,无法执行主题推送、应用部署与 checkout 扩展 sandbox 测试。
- 仅需纯前端/纯后端逻辑,不涉及主题架构、metafields、checkout 定制或应用授权流程的场景。