Adobe Experience Platform Launch已更名为Adobe Experience Platform中的一套数据收集技术。 因此,产品文档中的术语有一些改动。有关术语更改的综合参考,请参阅以下文档。
本文档介绍 Web 扩展的库模块格式。如果您正在开发 Edge 扩展,请另外参阅关于格式化 Edge 扩展模块的指南。
库模块是由Adobe Experience Platform中的标记运行时库内部发出的扩展提供的一段可重用代码。 然后,此库将在客户端网站上运行。 例如,gesture
事件类型具有将在客户端网站上运行的库模块,并且可检测用户手势。
库模块的结构为 CommonJS 模块。在 CommonJS 模块中,可使用以下变量:
require
您可以使用 require
函数来访问:
require('@adobe/reactor-name-of-module')
来访问这些模块。有关更多信息,请参阅有关可用核心模块的文档。./
或 ../
开头。用法示例:
var cookie = require('@adobe/reactor-cookie');
cookie.set('foo', 'bar');
module
您可以使用一个名为 module
的自由变量来导出模块的 API。
用法示例:
module.exports = function(…) { … }
exports
您可以使用一个名为 exports
的自由变量来导出模块的 API。
用法示例:
exports.sayHello = function(…) { … }
这是 module.exports
的替代方法,但其用法受到更多限制。请阅读了解 node.js 中的 module.exports 和 exports,以更好地了解 module.exports
和 exports
之间的区别,以及使用 exports
的相关注意事项。如有疑问,请简化操作并使用 module.exports
而不是使用 exports
。
当标记运行时库运行时,将立即“安装”模块并缓存其导出。 假设有以下模块:
console.log('runs on startup');
module.exports = function(settings) {
console.log('runs when necessary');
}
runs on startup
将立即记录,而 runs when necessary
只有在标记引擎调用导出的函数后,才会记录该事件。 虽然这对于特定模块而言可能是不必要的,但您可以通过在导出函数之前执行任何必要的设置来利用此功能。