ope*_*rid 4 soundmanager2 requirejs
SoundManager2 flash组件需要一个特定的全局JavaScript变量(soundManager)才能存在于全局范围内.这样flash播放器就可以与SoundManager2 JavaScript API进行通信.
问题是,当你想使用AMD(require.js)构建web应用程序时,你必须做出妥协并让这个全局变量出现.
有没有办法不打破AMD构建应用程序的方式,包括SoundManager?
使用RequireJS shim config将非AMD库包装为导出全局变量的模块:http: //requirejs.org/docs/api.html#config-shim
requirejs.config({
paths: {
'soundmanager2' : 'some/path/soundmanager2'
},
shim: {
'soundmanager2': {
exports: 'soundManager'
}
}
});
Run Code Online (Sandbox Code Playgroud)
然后,要求SoundManager2垫片像任何其他依赖项一样,并在您自己的模块代码中使用它:
define(['soundmanager2'], function(soundManager) {
soundManager.setup({ ... });
soundManager.beginDelayedInit();
// The following may help Flash see the global.
window.soundManager = soundManager;
return soundManager;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1604 次 |
| 最近记录: |