将新的 js 文件包含到 Magento 2.2 中?
Including new js file into Magento 2.2?
我在以下位置添加了一个新的 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"
]
};
我做错了什么???
问题是:系统加载 jquery 在你的 js 之后(你的 js 需要 jquery 才能工作)。
试试这个。
var config = {
map: {
'*': {
'flexslider': 'js/flexslider',
}
},
paths: {
'flexslider': 'js/flexslider',
},
shim: {
'flexslider': {
deps: ['jquery']
}
}
};
我在以下位置添加了一个新的 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"
]
};
我做错了什么???
问题是:系统加载 jquery 在你的 js 之后(你的 js 需要 jquery 才能工作)。
试试这个。
var config = {
map: {
'*': {
'flexslider': 'js/flexslider',
}
},
paths: {
'flexslider': 'js/flexslider',
},
shim: {
'flexslider': {
deps: ['jquery']
}
}
};