Web 擴充功能中的程式庫模組
NOTE
Adobe Experience Platform Launch已經過品牌重塑,現在是Adobe Experience Platform中的一套資料收集技術。 因此,所有產品檔案中出現了幾項術語變更。 請參閱下列檔案,以取得術語變更的彙總參考資料。
IMPORTANT
本文介紹 Web 擴充功能的程式庫模組格式。如果您正在開發邊緣擴充功能,請改為參閱格式化邊緣擴充功能模組指南。
程式庫模組是一段可重複使用的程式碼,由Adobe Experience Platform標籤執行階段程式庫內發出的擴充功能所提供。 然後,此程式庫會在使用者端的網站上執行。 例如,gesture
事件類型會有一個程式庫模組在用戶端的網站上執行並偵測使用者的手勢。
程式庫模組採取 CommonJS 模組的結構。CommonJS 模組內有下列變數可供使用:
require
require
函數可供您存取:
- 標籤所提供的核心模組。 這些模組可透過
require('@adobe/reactor-name-of-module')
來存取。如需詳細資訊,請參閱可用核心模組的相關文件。 - 擴充功能中的其他模組。擴充功能中的任何模組皆可透過相對路徑來存取。相對路徑必須以
./
或../
開頭。
使用範例:
var cookie = require('@adobe/reactor-cookie');
cookie.set('foo', 'bar');
module
自由變數 module
可供您匯出模組的 API。
使用範例:
module.exports = function(…) { … }
exports
exports-variable
自由變數 exports
可供您匯出模組的 API。
使用範例:
exports.sayHello = function(…) { … }
這可替代 module.exports
,但在使用上較為受限。請參閱了解 Node.js 中的 module.exports 與 exports,深入了解 module.exports
與 exports
的差異,以及使用 exports
時的注意事項。若不確定,選擇使用 module.exports
而非 exports
會是比較簡單的作法。
執行和快取
當標籤執行階段程式庫執行時,會立即「安裝」模組,並快取其匯出。 假設使用了下列模組:
console.log('runs on startup');
module.exports = function(settings) {
console.log('runs when necessary');
}
將立即記錄runs on startup
,而只有在標籤引擎呼叫已匯出的函式時,才會記錄runs when necessary
。 雖然這對您的特定模組可能沒有直接的用處,但您仍可在匯出函數之前執行任何必要的設定,加以運用。
recommendation-more-help
12b4e4a9-5028-4d88-8ce6-64a580811743