我在将一个Imager.js库添加到require.js加载时遇到问题,该脚本完美无需require.js
Main.js
define([
'jquery',
'bootstrap',
'imager',
'video'
],
function($) {
'use strict';
$('.dropdown-toggle').dropdown();
$('#bvideo').magnificPopup({
type: 'inline'
});
videojs('video-cdve', {
'controls': true,
'autoplay': false,
'preload': 'auto',
'width': 'auto',
'height': 'auto'
});
new Imager({
availableWidths: {
320: '320x240',
640: 'large',
1024: 'large_x2',
}
});
});
我收到此错误
未捕获的ReferenceError:未定义成像器
当我定义Imager
时define([
'jquery',
'bootstrap',
'imager',
'video'
],
function($, Imager) {
'use strict';
$('.dropdown-toggle').dropdown();
$('#bvideo').magnificPopup({
type: 'inline'
});
videojs('video-cdve', {
'controls': true,
'autoplay': false,
'preload': 'auto',
'width': 'auto',
'height': 'auto'
});
new Imager({
availableWidths: {
320: '320x240',
640: 'large',
1024: 'large_x2',
}
});
});
现在我发现了这个错误
未捕获的TypeError:undefined不是函数
什么事发生?我如何使用require ??
正确添加此库答案 0 :(得分:1)
您的参数与模块绑定的顺序与您在需求中列出它们的顺序相同,因此当您执行此操作时:
define([
'jquery',
'bootstrap',
'imager',
'video'
],
function($, Imager) {
您将Imager
绑定到'bootstrap'
模块的值。更改顺序:
define([
'jquery',
'imager',
'bootstrap',
'video'
],
function($, Imager) {
我还考虑过你是否需要为Imager提供垫片,但我在他们的code中看到他们检测到AMD环境并致电define
。