Módulos de biblioteca em extensões da Web

OBSERVAÇÃO

A Adobe Experience Platform Launch foi reformulada como um conjunto de tecnologias de coleta de dados no Adobe Experience Platform. Como resultado, várias alterações de terminologia foram implementadas na documentação do produto. Consulte o seguinte documento para obter uma referência consolidada das alterações de terminologia.

IMPORTANTE

Este documento aborda o formato do módulo de biblioteca para extensões da Web. Se você estiver desenvolvendo uma extensão de borda, consulte o manual sobre formatação de módulos de extensão de borda.

Um módulo de biblioteca é um pedaço de código reutilizável fornecido por uma extensão emitida dentro da biblioteca de tempo de execução de tag no Adobe Experience Platform. Essa biblioteca é executada no site do cliente. Por exemplo, um tipo de evento gesture terá um módulo de biblioteca que será executado no site do cliente e detectará os gestos do usuário.

O módulo da biblioteca está estruturado como um módulo CommonJS. Em um módulo CommonJS, as seguintes variáveis estão disponíveis para uso:

require

Uma função require está disponível para você acessar:

  1. Módulos principais fornecidos por tags. Esses módulos podem ser acessados usando require('@adobe/reactor-name-of-module'). Consulte o documento nos módulos principais disponíveis para obter mais informações.
  2. Outros módulos na sua extensão. Qualquer módulo na sua extensão pode ser acessado por um caminho relativo. O caminho relativo deve começar com ./ ou ../.

Exemplo de uso:

var cookie = require('@adobe/reactor-cookie');
cookie.set('foo', 'bar');

module

Uma variável livre chamada module está disponível e permite exportar a API do módulo.

Exemplo de uso:

module.exports = function(…) { … }

exports

Uma variável livre chamada exports está disponível e permite exportar a API do módulo.

Exemplo de uso:

exports.sayHello = function(…) { … }

É uma alternativa para module.exports, mas tem uso mais limitado. Leia Entender module.exports e exportações em node.js para compreender melhor as diferenças entre module.exports e exports e as limitações relacionadas ao uso de exports. Na dúvida, torne sua vida mais fácil e use module.exports em vez de exports.

Execução e armazenamento em cache

Quando a biblioteca de tempo de execução da tag for executada, os módulos serão "instalados" imediatamente e suas exportações serão armazenadas em cache. Presumindo o seguinte módulo:

console.log('runs on startup');

module.exports = function(settings) {
  console.log('runs when necessary');
}

runs on startup será registrado imediatamente, enquanto runs when necessary será registrado somente quando a função exportada for chamada pelo mecanismo de tag. Embora possa ser desnecessário para a finalidade de seu módulo específico, você pode aproveitar isso executando qualquer configuração necessária antes de exportar a função.

Nesta página