Módulos compartilhados em extensões da Web

NOTE
O Adobe Experience Platform Launch foi reformulado como um conjunto de tecnologias de coleção de dados na 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.

Um módulo compartilhado é um mecanismo pelo qual você pode se comunicar com outras extensões. Por exemplo, a Extensão A pode carregar dados de forma assíncrona e disponibilizá-los para a Extensão B por meio de uma promessa.

Em implementações do JavaScript, todos os módulos compartilhados são instanciados usando o método getSharedModule fornecido pela variável grátis turbine.

Os módulos compartilhados são incluídos nas bibliotecas de tags mesmo quando nunca são chamados de dentro de outras extensões. Para não aumentar desnecessariamente o tamanho da biblioteca, tenha cuidado com o que você expõe como um módulo compartilhado.

Os módulos compartilhados não têm um componente de visualização.

Ao desenvolver sua própria extensão de tag, é possível definir os módulos compartilhados que você deseja que ela forneça. Por exemplo, você pode criar um módulo que carregue uma ID de usuário de maneira assíncrona e, em seguida, compartilhe a ID de usuário com qualquer outra extensão por meio de uma promessa:

var userIdPromise = new Promise(/* load user ID, then resolve promise */);
module.exports = userIdPromise;

No manifesto de extensão, é necessário fornecer um nome para esse módulo compartilhado. Se você a nomear como user-id-promise, uma extensão diferente poderá acessar esse módulo compartilhado da seguinte maneira:

var userIdPromise = turbine.getSharedModule('user-extension', 'user-id-promise');

Os módulos compartilhados podem ser qualquer item que você normalmente poderia exportar de um módulo CommonJS (como funções, objetos, strings, números ou boolianos).

recommendation-more-help
12b4e4a9-5028-4d88-8ce6-64a580811743