使用 requirejs amd shim 加载 soundmanager2,记录未定义
Loading soundmanager2 with requirejs amd shim, logs undefined
所以这是我的 main.js 文件(为清楚起见删除了我所有其他脚本):
require.config({
paths: {
'soundmanager2': '../libs/soundmanager2/soundmanager2',
},
shim: {
'soundmanager2': {
'exports': 'soundManager'
}
}
});
然后我像这样加载库:
define(['jquery', 'underscore', 'backbone', 'utilities/events', 'utilities/helpers', 'soundmanager2'],
function($, _, Backbone, events, h, soundManager){
var TrackModel = Backbone.Model.extend({
initialize: function() {
console.log(soundManager);
}
});
return TrackModel;
}
);
正在下载脚本 - 但是当我登录 soundManager 时,我得到未定义,没有其他错误。
有什么想法吗?恐怕我遗漏了一些明显的东西..
这是 soundmanager2 版本的问题 - 它内置了 AMD,但由于某种原因我无法将其导出。我恢复到早期版本,使用了垫片,然后修复了它!
我在源代码注释中找到了requirejs的用法,但是文档没有描述。这是例子。
define(['soundManager2'], function(SoundManager) {
var sound = SoundManager.getInstance();
sound.setup({
useHTML5Audio: true,
idPrefix: '',
onready: function() {},
ontimeout: function() {}
});
sound.beginDelayedInit();
})
所以这是我的 main.js 文件(为清楚起见删除了我所有其他脚本):
require.config({
paths: {
'soundmanager2': '../libs/soundmanager2/soundmanager2',
},
shim: {
'soundmanager2': {
'exports': 'soundManager'
}
}
});
然后我像这样加载库:
define(['jquery', 'underscore', 'backbone', 'utilities/events', 'utilities/helpers', 'soundmanager2'],
function($, _, Backbone, events, h, soundManager){
var TrackModel = Backbone.Model.extend({
initialize: function() {
console.log(soundManager);
}
});
return TrackModel;
}
);
正在下载脚本 - 但是当我登录 soundManager 时,我得到未定义,没有其他错误。
有什么想法吗?恐怕我遗漏了一些明显的东西..
这是 soundmanager2 版本的问题 - 它内置了 AMD,但由于某种原因我无法将其导出。我恢复到早期版本,使用了垫片,然后修复了它!
我在源代码注释中找到了requirejs的用法,但是文档没有描述。这是例子。
define(['soundManager2'], function(SoundManager) {
var sound = SoundManager.getInstance();
sound.setup({
useHTML5Audio: true,
idPrefix: '',
onready: function() {},
ontimeout: function() {}
});
sound.beginDelayedInit();
})