用途:为 Shopify 主题开发提供 JavaScript 编码规范,适用于编写主题 section 的脚本、创建交互式组件、组织 JS 文件结构以及使用自定义 HTML 元素。
文件结构:JavaScript 必须放在 assets/ 目录的独立文件中,每个 section 一个文件,文件名与 section 同名(如 sections/product-quick-view.liquid 对应 assets/product-quick-view.js)。在 section 中用 asset_url 引入:<script src="{{ 'section-logic.js' | asset_url }}" defer="defer"></script>,始终使用 defer 确保脚本在 HTML 解析后加载。
关键规则:变量声明只用 const 和 let,禁止 var;避免污染全局作用域,变量应局限在使用范围内。
自定义元素:用自定义 HTML 元素封装 JS 逻辑,实现可复用组件。通过 class 继承 HTMLElement,在 constructor 中调用 init,使用 customElements.define 注册。生命周期钩子包括 connectedCallback(元素加入 DOM)和 disconnectedCallback(元素移除,用于清理事件监听)。在 Liquid 中可直接使用自定义标签并通过 data-* 属性传动态数据,JS 用 dataset 读取。
最佳实践:用 addEventListener 绑定事件并在 disconnectedCallback 中移除;用 try/catch 处理错误并输出 console.warn 或 console.error;仅在用户明确要求时才使用 IntersectionObserver、MutationObserver 等观察器。
限制:资料未提供适用平台版本、性能指标或收费相关信息,这些暂未提供。