Módulos de biblioteca de extensiones web
Un módulo de biblioteca es un fragmento de código reutilizable proporcionado por una extensión que se emite dentro de la biblioteca de tiempo de ejecución de etiquetas en Adobe Experience Platform. A continuación, esta biblioteca se ejecuta en el sitio web del cliente. Por ejemplo, un tipo de evento gesture
tendrá un módulo de biblioteca que se ejecutará en el sitio web del cliente para detectar los gestos del usuario.
El módulo de biblioteca está estructurado como módulo CommonJS. Dentro de un módulo CommonJS, encontrará las siguientes variables disponibles para el uso:
require
Podrá acceder a la función require
:
- Módulos principales proporcionados por etiquetas. Se puede acceder a estos módulos utilizando
require('@adobe/reactor-name-of-module')
. Consulte el documento sobre módulos principales disponibles para obtener más información. - Otros módulos dentro de la extensión. Se puede acceder a cualquier módulo de la extensión a través de una ruta relativa. La ruta relativa debe comenzar por
./
o../
.
Ejemplo de uso:
var cookie = require('@adobe/reactor-cookie');
cookie.set('foo', 'bar');
module
Hay disponible una variable gratuita denominada module
que permite exportar la API del módulo.
Ejemplo de uso:
module.exports = function(…) { … }
exports
exports-variable
Hay disponible una variable gratuita denominada exports
que permite exportar la API del módulo.
Ejemplo de uso:
exports.sayHello = function(…) { … }
Esta es una alternativa a module.exports
, pero su uso es más limitado. Lea Explicación de module.export y exportaciones en node.js para comprender mejor las diferencias entre module.exports
y exports
, así como las advertencias relacionadas con el uso de exports
. Cuando tenga dudas, no se complique la vida y utilice module.exports
en lugar de exports
.
Ejecución y almacenamiento en caché
Cuando se ejecute la biblioteca de tiempo de ejecución de etiquetas, los módulos se "instalarán" inmediatamente y sus exportaciones se almacenarán en la caché. Suponga que tiene el módulo siguiente:
console.log('runs on startup');
module.exports = function(settings) {
console.log('runs when necessary');
}
runs on startup
se registrará inmediatamente, mientras que runs when necessary
solo se registrará cuando el motor de etiquetas haya llamado a la función exportada. Aunque puede que no sea necesario para el propósito de su módulo en particular, puede aprovechar esto realizando la configuración necesaria antes de exportar la función.