使用带有FB SDK的require.js

Ere*_*sky 12 javascript requirejs facebook-javascript-sdk

我想使用require.js加载FB SDK.

我的测试用例是这样的:

test.js:

require([        
     'libs/facebook/fb'
     ], function(FB){
     FB.api("/me", function(){});
));
Run Code Online (Sandbox Code Playgroud)

我想在加载FB SDK之后运行test.js,并准备FB.

有关如何实现这一点的任何想法?我的包装器(libs/facebook/fb.js)应该有什么?

Dzu*_*sir 10

看起来FB API似乎不是AMD模块,所以它没有以RequireJS习惯的方式定义自己.您需要使用require.config来填充FB API.我假设test.js是您提供的脚本,作为RequireJS的数据主要值.

require.config({
    shim: {
        'facebook' : {
            exports: 'FB'
        }
    },

    paths: {
        'facebook' : 'libs/facebook/fb'
    }
});

require(['facebook'], function(FB){
    FB.api('/me', function(){});
});
Run Code Online (Sandbox Code Playgroud)