Modules de bibliothèque dans les extensions web

IMPORTANT

Ce document couvre le format du module de bibliothèque pour les extensions web. Si vous développez une extension Edge, reportez-vous au guide sur le formatage des modules d’extension Edge à la place.

Un module Bibliothèque est un morceau de code réutilisable fourni par une extension émise dans la bibliothèque du runtime Adobe Experience Platform Launch (la bibliothèque qui s’exécute 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 :

  1. Modules principaux fournis par Platform Launch. 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.
  2. 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

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 du runtime Platform Launch 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 Platform Launch. 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.

Sur cette page