ReferenceError:$ 未在 Shopify Slate 主题中的 dist/assets/theme.js?5556:274 中定义

问题描述 投票:0回答:2

我使用 slate 进行 Shopify 主题开发。 板岩:https://github.com/Shopify/slate

节点-v:v10.16.0
npm -v:6.9.0
石板-v:0.14.0

已执行以下步骤
1) 石板主题 mydemo
2) slate build (创建 dist 文件夹)
3)slate zip(在shopify商店上传此主题并获取主题id。)
4) 在 config.yml 文件中设置商店、密码、主题 id。
5) 石板部署
6) 石板手表

在编译的 dist 文件夹中出现错误 Uncaught ReferenceError: $ is not Define in dist/assets/theme.js at line number 274 slate.Sections.prototype = $.extend({}, slate.Sections.prototype, {

https://jsrajyaguru.myshopify.com/products/650c-micro-wheelset当我更改下拉价格的变化时,由于javascript错误,产品图像未更改。

shopify slate-shopify
2个回答
3
投票
发出

Uncaught ReferenceError: $ is not defined
是因为您没有在另一个
jquery
文件之前加载
.js

尝试将以下(简单解决方案)行添加到

<head>
layout/theme.liquid

标签的最顶部
https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js

1
投票

确保您在scripts/vendor.js 中调用的版本与scripts/vendor 文件夹中的jQuery 版本号相匹配。

例如,在我的vendor.js中全新安装slate后,它是:

/*!
 * jquery-2.2.3.min.js
 */
// =require vendor/jquery-2.2.3.min.js

在我的供应商文件夹中提供的版本是 3.3.1,所以我将供应商.js 更改为

/*!
 * jquery-3.3.1.min.js
 */
// =require vendor/jquery-3.3.1.min.js
© www.soinside.com 2019 - 2024. All rights reserved.