ในบทแนะนำการใช้งานนี้ คุณจะได้เรียนรู้วิธีการรวม Facebook SDK สำหรับ JavaScript เข้ากับโมดูล JavaScript อื่นๆ โดยใช้ RequireJS โดยทั่วไปแล้ว JavaScript SDK ไม่สามารถทำงานร่วมกับลักษณะการออกแบบ Asynchronous Module Definition (AMD) ได้ ดังนั้นบทแนะนำการใช้งานนี้จึงครอบคลุมถึงการเขียนชิ้นข้อมูลเพื่อให้มีอ็อบเจ็กต์ FB ที่สร้างขึ้นโดย SDK นี้
บทแนะนำการใช้งานนี้ตั้งอยู่บนสมมติฐานที่ว่าคุณคุ้นเคยกับโมดูล RequireJS และ JavaScript อยู่แล้ว ทำความเข้าใจเพิ่มเติมเกี่ยวกับ RequireJS
กำหนดค่าสคริปต์ RequireJS อื่นๆ ตามปกติ แล้วเพิ่มไฟล์ .js ใหม่สำหรับการโต้ตอบกับ Facebook SDK โปรเจ็กต์นี้สมมติให้โครงสร้างของไดเรกทอรีมีลักษณะคล้ายกับโครงสร้างด้านล่างนี้
- project/ - index.html - scripts/ - main.js - require.js
เพิ่มไฟล์ใหม่สำหรับการกำหนดค่าและการโต้ตอบกับ 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']);
การดำเนินการนี้จะสร้างโมดูล facebook
โดยใช้ URL ของ JavaScript SDK และทำเครื่องหมายอ็อบเจ็กต์ FB
เป็นสิ่งที่ส่งออกสำหรับโมดูลนั้น
ใน fb.js
ที่คุณเพิ่งสร้างขึ้นใหม่ คุณสามารถสร้างอินสแตนซ์และใช้อ็อบเจ็กต์ของ FB ได้ตามปกติ เพิ่ม ID ของแอพสำหรับแอพของคุณจากแดชบอร์ดของแอพ
คุณแค่กำหนดเขตของโค้ดไว้ในบล็อกกำหนดค่า โดยส่งผ่านโมดูลของชิ้นข้อมูล facebook
ในรูปแบบของลักษณะการขึ้นต่อกันที่กำหนดไว้
define(['facebook'], function(){
FB.init({
appId : '{your-app-id}',
version : 'v21.0
'
});
FB.getLoginStatus(function(response) {
console.log(response);
});
});