本教程将介绍如何使用 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>
在主项目脚本中,向 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);
});
});