共享模块是一种可用来与其他扩展进行通信的机制。在 JavaScript 实现中,所有共享模块都使用 turbine
自由变量提供的 getSharedModule
方法进行实例化。
在开发您自己的 Platform Launch 扩展时,可以定义您希望它提供的任何共享模块。例如,您可以创建一个以异步方式加载用户 ID 的模块,然后通过 promise 与其他任何扩展共享用户 ID:
var userIdPromise = new Promise(/* load user id, then resolve promise */);
module.exports = userIdPromise;
在扩展清单中,必须为此共享模块提供一个名称。如果将其命名为 user-id-promise
,则其他扩展可以访问此共享模块,如下所示:
var userIdPromise = turbine.getSharedModule('user-extension', 'user-id-promise');
共享模块可以是您通常能够从 CommonJS 模块导出的任何内容(例如函数、对象、字符串、数字或布尔值)。