Web 擴充功能中的程式庫模組

注意

Adobe Experience Platform Launch在Adobe Experience Platform中已重新命名為一套資料收集技術。 因此,產品檔案中已推出數個術語變更。 有關術語更改的綜合參考,請參閱以下document

重要

本文介紹 Web 擴充功能的程式庫模組格式。如果您正在開發邊緣擴充功能,請改為參閱格式化邊緣擴充功能模組指南。

程式庫模組是一段可重複使用的程式碼,由Adobe Experience Platform中標籤執行階段程式庫內發出的擴充功能所提供。 此程式庫隨後在用戶端的網站上執行。 例如,gesture 事件類型會有一個程式庫模組在用戶端的網站上執行並偵測使用者的手勢。

程式庫模組採取 CommonJS 模組的結構。CommonJS 模組內有下列變數可供使用:

require

require 函數可供您存取:

  1. 由標籤提供的核心模組。 這些模組可透過 require('@adobe/reactor-name-of-module') 來存取。如需詳細資訊,請參閱可用核心模組的相關文件。
  2. 擴充功能中的其他模組。擴充功能中的任何模組皆可透過相對路徑來存取。相對路徑必須以 ./../ 開頭。

使用範例:

var cookie = require('@adobe/reactor-cookie');
cookie.set('foo', 'bar');

module

自由變數 module 可供您匯出模組的 API。

使用範例:

module.exports = function(…) { … }

exports

自由變數 exports 可供您匯出模組的 API。

使用範例:

exports.sayHello = function(…) { … }

這可替代 module.exports,但在使用上較為受限。請參閱了解 Node.js 中的 module.exports 與 exports,深入了解 module.exportsexports 的差異,以及使用 exports 時的注意事項。若不確定,選擇使用 module.exports 而非 exports 會是比較簡單的作法。

執行和快取

當標籤執行階段程式庫執行時,系統會立即「安裝」模組,並快取其匯出。 假設使用了下列模組:

console.log('runs on startup');

module.exports = function(settings) {
  console.log('runs when necessary');
}

runs on startup 將立即記錄, runs when necessary 而只有在標籤引擎呼叫已匯出的函式時才會記錄。雖然這對您的特定模組可能沒有直接的用處,但您仍可在匯出函數之前執行任何必要的設定,加以運用。

本頁內容