jquery - 将新的 js 文件包含到 Magento 2.2 中?

标签 jquery css magento less magento2

我在以下位置添加了一个新的 js 文件:

app/design/frontend/<Vendor>/<Theme>/web/js/flexslider.js

这给我以下错误:

flexslider.js:1218 Uncaught ReferenceError: jQuery is not defined
    at flexslider.js:1218
(anonymous) @ flexslider.js:1218
jquery-migrate.js:21 JQMIGRATE: Logging is active
(index):427 Uncaught TypeError: $(...).flexslider is not a function
    at (index):427
    at dispatch (jquery.js:5226)
    at elemData.handle (jquery.js:4878)

我的 requirejs-config 里面有这个:

var config = {

    // When load 'requirejs' always load the following files also
    deps: [
        "/static/frontend/<Vendor>/<theme>/en_US/js/flexslider.js"
    ]
};

我做错了什么???

最佳答案

问题是:系统在你的 js 之后加载了 jquery(你的 js 需要 jquery 才能工作)。

试试这个。

var config = {
    map: {
        '*': {
            'flexslider': 'js/flexslider',
        }
    }, 
    paths: {
        'flexslider': 'js/flexslider',
    },
    shim: {
        'flexslider': {
            deps: ['jquery']
        }
    }
};

关于jquery - 将新的 js 文件包含到 Magento 2.2 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49929650/

相关文章:

javascript - 解析 Google Stock XML

javascript - Facebox 插件 onClick 做某事

ruby - Magento - 在单个 XML-RPC 调用中获取多个产品的详细信息

JavaScript 闭包回调本身

javascript - 没有得到名称属性

html - 我想以响应方式将 2 个图像居中

Magento - 何时使用 Mage::getResourceModel

magento:从前端添加产品

html - 篡改 URL 后 CSS 未加载

jquery - 拾色器 API 更改文本颜色