图谱 API 版

JavaScript 版 Facebook SDK 与 RequireJS

本教程将介绍如何使用 RequireJS 集成 JavaScript 版 Facebook SDK 和其他 JavaScript 模块。通常,JavaScript SDK 与异步模块定义 (AMD) 设计模式不兼容,所以本教程还将介绍如何编写填充码,以便提供 SDK 创建的 FB 对象。

本教程假定您已熟悉 RequireJS 和 JavaScript 模块。详细了解 RequireJS

配置

像往常一样配置其他 RequireJS 脚本,并添加新的 .js 文件,以便与 Facebook SDK 互动。本文所述的项目假设使用如下所示的目录结构:

- project/
   - index.html
   - scripts/
      - main.js
      - require.js

添加用于配置 SDK 并与 SDK 互动的新文件,如下所示:

- project/
    - index.html
    - scripts/
       - main.js
       - require.js
       - fb.js

您应导入 requirejs 脚本并声明将 main.js 作为 data-main 属性,如下所示:

<script data-main="scripts/main" src="scripts/require.js"></script>

向 Facebook SDK 添加填充码

在主项目脚本中,向 require.config 添加填充码声明,如下所示:

require.config({
  shim: {
    'facebook' : {
      exports: 'FB'
    }
  },
  paths: {
    'facebook': 'https://connect.facebook.net/en_US/sdk.js'
  }
})
require(['fb']);

这将创建一个使用 JavaScript SDK 网址的 facebook 模块,并将 FB 对象标记为对应模块的输出。

在新建的 fb.js 中,您可以按标准方式实例化并使用 FB 对象。请通过应用面板添加应用编号。

您只需将代码添加至定义块,传递 facebook 填充码模块作为必要的依赖项。

define(['facebook'], function(){
  FB.init({
    appId      : '{your-app-id}',
    version    : 'v21.0'
  });
  FB.getLoginStatus(function(response) {
    console.log(response);
  });
});