English
vite-plugin-shopify-theme

Mixer Snippet 与 Git

说明 Mixer Snippet 在开发与生产形态间的切换、进入开发前 Git index 须有生产形态的前提,以及异常退出后用 restore 恢复。

Mixer Snippet(默认为 snippets/vite-mixer.liquid)是开发服务器与 Shopify 生产资源之间的切换点。生产形态通过 asset_url 引用 Theme 资源;开发形态引用本地 Vite 服务和 /@vite/client。两种形态都带有版本标记。开发地址不能进入提交,因此在 Git 管理的 Theme 中,插件会在进入开发模式前验证 Git index 中已有当前的生产形态。

开发前

先运行生产构建并暂存生成的 Mixer、布局渲染标签和资源。缺失、未跟踪、版本标记不匹配或无法识别的 Mixer 会阻止开发启动;遇到旧的或无法识别的标记时,重新构建并暂存一次生成的 Snippet,不要手工修改版本标记。

开发中

在默认的 worktree: "skip" 下,dev 先验证 index 中的生产形态,再给 Mixer 设置 skip-worktree,然后把开发形态写入工作区。这样即使使用 git add -A 暂存其他 Theme 文件,也不会误把本地开发地址带入提交。该行为只保护插件拥有的 Mixer,不代替团队检查其他生成资源。

Theme Target 不是 Git 仓库时,插件不管理 index(默认的 devBranches 分支检查仍依赖 Git 仓库,此类目标需要设置 devBranches: false);设置 worktree: "off" 则不做任何 Git 操作。这两种情况下,团队需要自行避免开发形态进入提交或推送。

开发结束或异常退出后

开发形态和 skip-worktree 标志可能在异常退出后有意保留,下一次开发会覆盖它们。生产构建会清除该标志,并写回可见的生产形态。如果需要切换分支、交接工作区或回到清洁状态,使用 restore,然后实际检查 Git 状态。完整的首次流程与恢复语义见仓库的 Mixer Snippet and Git。

内容维护: ShopZend

资料核对:2026-09-23

内容更新:2026-10-05