使用ScrollMagic.js作为AMD模块
Using ScrollMagic.js as AMD module
例如,如何将优秀的ScrollMagic JS插件用作AMD模块来与requirejs
一起使用?
我在网上找不到任何关于它的参考资料,从ScrollMagic
的代码来看,它似乎不像是作为AMD模块加载的。
它确实在模块末尾的window
级别中定义了两个变量:
window.ScrollScene = ScrollScene;
window.ScrollMagic = ScrollMagic;
所以简单的shim
似乎不行,因为我需要导出两个变量。有出口的方法吗?
有什么想法吗?
谢谢!
我发现了一些对我有用的东西,这有点难解决,但它确实奏效了。
在requirejs
的shim
配置中,我使用:
shim: {
'scrollmagic': {
deps:['jquery', 'TweenMax'],
exports: 'ScrollMagic',
init: function() {
return {ScrollMagic: ScrollMagic,
ScrollScene: ScrollScene};
}
}
}
这符合ScrollMagic
需要加载jQuery
和GSAP TweenMax
库的事实。
事实证明,使用shim
的init
函数,然后返回这两个变量,就可以达到目的。
但是-这意味着要使用ScrollMagic
插件,应该使用(示例):
define(['scrollmagic'], function(scrollmagic) {
var magic = new scrollmagic.ScrollMagic();
var scene = new scrollmagic.ScrollScene({duration: 200});
});
希望这能帮助未来的某个人。。。
===编辑===
ScrollMagic 1.3现在支持AMD模式,所以所有这些都是不必要的。
相关文章:
- 如何将多个 AMD 模块捆绑在一个文件中
- AMD 模块中的动态导出
- 使用 Babel 将 ES6 模块转换为 ES5 AMD 模块,无法按预期工作
- JavaFX+Javascript:如何将Java对象注入AMD模块
- Javascript应用程序作为具有外部依赖关系的AMD模块
- 如何将预编译的hogan.js模板封装到AMD模块中
- 当混合node和amd模块时,requirejs()返回undefined
- 如何创建一个结构化为AMD模块的可重用库
- 我可以在网络工作者中加载AMD模块吗
- 如何从TypeScript编译中现有的AMD js类继承到AMD模块
- 使用磁带/ES6 单元测试测试 AMD 模块
- 如何将 AMD 模块从单例转换为实例
- 为什么串联的 RequireJS AMD 模块需要一个加载器
- 如何从道场层加载 AMD 模块
- 从前台检索后台页面的 AMD 模块
- 配置需要 js 才能在 javascript 中加载 AMD 模块
- 如何使用 tsc 从打字稿生成 amd 模块
- 如何使用jspm/system.js正确加载本地AMD模块
- Davis.js作为AMD模块
- RequireJS-在require流和内联中加载AMD模块