Módulos de biblioteca em extensões da Web

Observação: A Adobe Experience Platform Launch está sendo reformulada como um conjunto de tecnologias de coleta de dados no Experience Platform. Essas alterações serão implementadas em toda a documentação do produto nas próximas semanas. Consulte o seguinte document 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 código reutilizável fornecido por uma extensão emitida na biblioteca de tempo de execução do Adobe Experience Platform Launch (a biblioteca que é 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 pelo Platform Launch. 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 do Platform Launch 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ão registrados imediatamente, enquanto runs when necessary serão registrados somente depois que a função exportada for chamada pelo mecanismo do Platform Launch. 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