Adobe Experience Platform Launch è stato ridefinito come suite di tecnologie di raccolta dati in Adobe Experience Platform. Di conseguenza, sono state introdotte diverse modifiche terminologiche nella documentazione del prodotto. Consulta questo document come riferimento consolidato delle modifiche terminologiche.
Questo documento descrive il formato dei moduli libreria per le estensioni web. Se stai sviluppando un’estensione Edge, consulta invece la guida sulla formattazione dei moduli per estensioni Edge.
Un modulo libreria è una parte di codice riutilizzabile fornito da un’estensione ed emesso all’interno della libreria runtime di tag in Adobe Experience Platform. Questa libreria viene quindi eseguita sul sito web del cliente. Ad esempio, un tipo di evento gesture
avrà un modulo libreria che verrà eseguito sul sito web del client e rileverà i movimenti dell’utente.
Il modulo libreria è strutturato come modulo CommonJS. In un modulo CommonJS, sono disponibili le seguenti variabili:
require
È disponibile una funzione require
che consente di accedere a:
require('@adobe/reactor-name-of-module')
. Per ulteriori informazioni, consulta il documento sui moduli core disponibili../
oppure ../
.Esempio di utilizzo:
var cookie = require('@adobe/reactor-cookie');
cookie.set('foo', 'bar');
module
È disponibile una variabile gratuita denominata module
che consente di esportare l’API del modulo.
Esempio di utilizzo:
module.exports = function(…) { … }
exports
È disponibile una variabile gratuita denominata exports
che consente di esportare l’API del modulo.
Esempio di utilizzo:
exports.sayHello = function(…) { … }
Si tratta di un’alternativa a module.exports
, ma il suo utilizzo è più limitato. Consulta Informazioni su “module.exports” ed “exports” in node.js per una comprendere meglio le differenze tra module.exports
e exports
e le relative avvertenze sull’utilizzo di exports
. In caso di dubbi, utilizza module.exports
anziché exports
.
Quando viene eseguita la libreria runtime dei tag, i moduli vengono immediatamente “installati” e le relative esportazioni vengono memorizzate nella cache. Nel seguente modulo di esempio:
console.log('runs on startup');
module.exports = function(settings) {
console.log('runs when necessary');
}
runs on startup
verrà registrato immediatamente, mentre runs when necessary
verrà registrato solo dopo che la funzione esportata verrà richiamata dal motore dei tag. Anche se potrebbe non essere necessario per lo scopo del modulo, è possibile trarne vantaggio eseguendo eventuali configurazioni necessarie prima di esportare la funzione.