Bibliotheksmodule in Web-Erweiterungen
Ein Bibliotheksmodul ist ein Teil des wiederverwendbaren Codes, der von einer Erweiterung bereitgestellt wird, die innerhalb der Tag-Laufzeitbibliothek in Adobe Experience Platform ausgegeben wird. Diese Bibliothek wird dann auf der Website des Kunden ausgeführt. Beispielsweise verfügt der Ereignistyp gesture
über ein Bibliotheksmodul, das auf der Website des Client ausgeführt wird und Benutzergesten erkennt.
Das Bibliotheksmodul hat die Struktur eines CommonJS-Moduls. In einem CommonJS-Modul stehen die folgenden Variablen zur Verwendung zur Verfügung:
require
Die Funktion require
ist verfügbar zum Zugriff auf:
- Hauptmodule, die von Tags bereitgestellt werden. Auf diese Module kann mit
require('@adobe/reactor-name-of-module')
zugegriffen werden. Weitere Informationen finden Sie im Dokument zu verfügbaren Hauptmodulen. - Andere Module in Ihrer Erweiterung. Über einen relativen Pfad kann auf jedes Modul in Ihrer Erweiterung zugegriffen werden. Der relative Pfad muss mit
./
oder../
beginnen.
Beispiel:
var cookie = require('@adobe/reactor-cookie');
cookie.set('foo', 'bar');
module
Es ist eine freie Variable namens module
verfügbar, mit der Sie die API des Moduls exportieren können.
Beispiel:
module.exports = function(…) { … }
exports
exports-variable
Es ist eine freie Variable namens exports
verfügbar, mit der Sie die API des Moduls exportieren können.
Beispiel:
exports.sayHello = function(…) { … }
Dies ist eine Alternative zu module.exports
, die in ihrer Verwendung jedoch eingeschränkter ist. Lesen Sie Understanding module.exports and exports in node.js, um die Unterschiede zwischen module.exports
und exports
sowie die mit der Verwendung von exports
verbundenen Vorbehalte besser zu verstehen. Im Zweifelsfall verwenden Sie module.exports
statt exports
, da dies einfacher ist.
Ausführung und Caching
Wenn die Tag-Laufzeitbibliothek ausgeführt wird, werden die Module sofort „installiert“ und ihre Exporte zwischengespeichert. Angenommen, Sie haben folgendes Modul:
console.log('runs on startup');
module.exports = function(settings) {
console.log('runs when necessary');
}
runs on startup
wird sofort protokolliert, während runs when necessary
erst protokolliert wird, wenn die exportierte Funktion von der Tag-Engine aufgerufen wird. Obwohl dies für die Zwecke Ihres speziellen Moduls möglicherweise nicht erforderlich ist, können Sie es nutzen, indem Sie vor dem Exportieren der Funktion alle erforderlichen Einstellungen vornehmen.