Biblioteksmoduler i webbtillägg
En biblioteksmodul är en del av återanvändbar kod som tillhandahålls av ett tillägg som släpps ut i taggens körningsbibliotek i Adobe Experience Platform. Det här biblioteket körs sedan på klientens webbplats. Till exempel en gesture
händelsetypen kommer att ha en biblioteksmodul som körs på klientens webbplats och identifierar användargester.
Biblioteksmodulen är strukturerad som en CommonJS, modul. I en CommonJS-modul är följande variabler tillgängliga för användning:
require
A require
kan du komma åt:
- Kärnmoduler från taggar. Dessa moduler kan nås via
require('@adobe/reactor-name-of-module')
. Se dokumentet om tillgängligt kärnmoduler för mer information. - Andra moduler i tillägget. Alla moduler i tillägget kan nås via en relativ sökväg. Den relativa sökvägen måste börja med
./
eller../
.
Exempelanvändning:
var cookie = require('@adobe/reactor-cookie');
cookie.set('foo', 'bar');
module
En kostnadsfri variabel med namnet module
är tillgängligt så att du kan exportera modulens API.
Exempelanvändning:
module.exports = function(…) { … }
exports
exports-variable
En kostnadsfri variabel med namnet exports
är tillgängligt så att du kan exportera modulens API.
Exempelanvändning:
exports.sayHello = function(…) { … }
Detta är ett alternativ till module.exports
men användningen är mer begränsad. Läs Modulen.export och export i node.js för en bättre förståelse av skillnaderna mellan module.exports
och exports
och tillhörande kavattar med exports
. Gör livet enklare och använd module.exports
i stället för exports
.
Körning och cachning
När taggens körningsbibliotek körs "installeras" modulerna omedelbart och deras export cachelagras. Anta följande modul:
console.log('runs on startup');
module.exports = function(settings) {
console.log('runs when necessary');
}
runs on startup
loggas omedelbart medan runs when necessary
loggas endast när den exporterade funktionen anropas av taggmotorn. Det kan vara onödigt för just din modul, men du kan utnyttja detta genom att göra de inställningar som behövs innan du exporterar funktionen.