Modules de bibliothèque dans les extensions web
Un module de bibliothèque est un morceau de code réutilisable fourni par une extension émise dans la bibliothèque d’exécution des balises d’Adobe Experience Platform. Cette bibliothèque sʼexécute ensuite sur le site web du client. Par exemple, un type d’événement gesture
comporte un module Bibliothèque qui s’exécutera sur le site web du client et détectera les mouvements des utilisateurs.
Le module Bibliothèque est structuré comme un module CommonJS. Dans un module CommonJS, les variables suivantes peuvent être utilisées :
require
Vous pouvez accéder à une fonction require
:
- Modules principaux fournis par les balises. Ces modules sont accessibles à l’aide de
require('@adobe/reactor-name-of-module')
. Pour plus d’informations, consultez le document sur les modules principaux disponibles. - Autres modules de votre extension. Tout module de votre extension est accessible via un chemin relatif. Le chemin relatif doit commencer par
./
ou../
.
Cas d’utilisation :
var cookie = require('@adobe/reactor-cookie');
cookie.set('foo', 'bar');
module
Une variable libre nommée module
est disponible, ce qui vous permet d’exporter l’API du module.
Cas d’utilisation :
module.exports = function(…) { … }
exports
exports-variable
Une variable libre nommée exports
est disponible, ce qui vous permet d’exporter l’API du module.
Cas d’utilisation :
exports.sayHello = function(…) { … }
Il s’agit d’une alternative à module.exports
mais son utilisation est plus limitée. Veuillez lire Présentation de la variable module.exports et des exports dans node.js pour mieux comprendre les différences entre module.exports
et exports
et les avertissements connexes liés à l’utilisation de exports
. En cas de doute, simplifiez-vous la vie et utilisez module.exports
plutôt que exports
.
Exécution et mise en cache
Lorsque la bibliothèque d’exécution des balises sʼexécute, les modules sont immédiatement « installés » et leurs exports sont mis en cache. En supposant le module suivant :
console.log('runs on startup');
module.exports = function(settings) {
console.log('runs when necessary');
}
runs on startup
sera consigné immédiatement, alors que runs when necessary
ne sera consigné quʼune fois la fonction exportée appelée par le moteur de balise. Bien que cela puisse être inutile dans le cadre de votre module particulier, vous pouvez en profiter en effectuant toute configuration nécessaire avant d’exporter la fonction.