【问题标题】:Using ScrollMagic.js as AMD module使用 ScrollMagic.js 作为 AMD 模块
【发布时间】:2014-09-16 11:44:02
【问题描述】:

如何将出色的 ScrollMagic JS 插件用作 AMD 模块以与 requirejs 一起使用?

我在网上找不到任何引用,查看ScrollMagic 的代码,它似乎不像作为 AMD 模块加载。

它确实在模块末尾的 window 级别中定义了 2 个变量:

window.ScrollScene = ScrollScene;
window.ScrollMagic = ScrollMagic;

所以看起来简单的shim 是行不通的,因为我需要导出两个变量。有办法导出吗?

有什么想法吗?

谢谢!

【问题讨论】:

    标签: javascript requirejs amd scrollmagic


    【解决方案1】:

    我发现了一些对我有用的东西,它有点变通,但它可以解决问题。

    requirejsshim配置中我使用:

    shim: {
        'scrollmagic': {
            deps:['jquery', 'TweenMax'], 
            exports: 'ScrollMagic', 
            init: function() {
                return {ScrollMagic: ScrollMagic, 
                        ScrollScene: ScrollScene};
            }
        }
    }
    

    这是为了符合ScrollMagic 需要加载jQuery 以及GSAP TweenMax 库这一事实。

    事实证明,使用shiminit 函数,然后返回两个变量,就可以了。

    但是 - 这意味着使用ScrollMagic 插件应该使用(示例):

    define(['scrollmagic'], function(scrollmagic) {
        var magic = new scrollmagic.ScrollMagic();
        var scene = new scrollmagic.ScrollScene({duration: 200});
    });
    

    希望这对将来的某人有所帮助...

    == 编辑 ==

    ScrollMagic 1.3 现在支持 AMD 模式,所以这一切都是不必要的。

    【讨论】:

      猜你喜欢
      • 2015-04-04
      • 1970-01-01
      • 1970-01-01
      • 2013-03-05
      • 1970-01-01
      • 1970-01-01
      • 2017-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多