Moduli libreria nelle estensioni web

NOTA

Adobe Experience Platform Launch è stato classificato come una suite di tecnologie di raccolta dati in Adobe Experience Platform. Di conseguenza, sono state introdotte diverse modifiche terminologiche nella documentazione del prodotto. Consulta il seguentedocumento come riferimento consolidato delle modifiche terminologiche.

IMPORTANTE

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 è un pezzo di codice riutilizzabile fornito da un'estensione che viene emessa all'interno della libreria di runtime di tag in Adobe Experience Platform. Questa libreria viene quindi eseguita sul sito web del client. 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:

  1. Moduli di base forniti dai tag. È possibile accedere a questi moduli utilizzando require('@adobe/reactor-name-of-module'). Per ulteriori informazioni, consulta il documento sui moduli core disponibili.
  2. Altri moduli all’interno dell’estensione. È possibile accedere a qualsiasi modulo dell’estensione tramite il relativo percorso. Il percorso relativo deve iniziare con ./ 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.

Esecuzione e caching

Quando la libreria di runtime di tag viene eseguita, i moduli verranno immediatamente "installati" e le loro esportazioni sono 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 verranno registrati immediatamente, mentre runs when necessary verranno registrati solo una volta che la funzione esportata viene chiamata dal motore di tag. Anche se potrebbe non essere necessario per lo scopo del modulo, è possibile trarne vantaggio eseguendo eventuali configurazioni necessarie prima di esportare la funzione.

In questa pagina