Shopify Functions

shopify app function run 跑旧 wasm

现象#

改了 run.js 里的判断条件,本地 run 的输出和修改前一模一样;dist 目录里 function.wasm 的修改时间还停在昨天。

原因#

  • JS 函数要先编译成 wasm,只改源码不跑 build,CLI 仍读 dist 里的旧产物
  • monorepo 里 --path 指到了另一个同名扩展,跑的是别的目录
  • 构建脚本输出到 build/ 而 toml 指向 dist/,两边路径不一致
  • 改的是 src 下的副本而不是扩展实际入口文件

处理步骤#

  1. 先跑 shopify app function build --path extensions/xxx
  2. 比对 dist/function.wasm 时间戳与源码修改时间
  3. 检查 shopify.extension.toml 里的 input_query 是否指向当前文件
  4. 用 shopify app function run -i input.json -j 复跑同一 fixture
  5. 把 build 写进 scripts:npm run build && shopify app function run

验收标准#

修改后的分支在回放输出里立即体现,wasm 时间戳晚于源码;同一 fixture 连续两次输出完全一致。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。