Firefox上模块之间的对象持久性

时间:2012-10-22 14:04:29

标签: firefox firefox-addon requirejs firefox-addon-sdk commonjs

我开发了一个在Firefox的Addon SDK(v1.10)上运行的扩展程序。我现在正在尝试模块化更多存储在后台页面中的代码(默认称为“main.js”)。

问题

有没有办法创建未冻结的SDK模块?我需要创建一个包含数据的模块,这些数据应该保留在自身中,当该模块被'required()'(加载)到另一个模块时,可以从其他模块访问。

截至目前,我通过使用Firefox的首选项或本地存储来实现此目的,以便在模块之间保持所需对象的状态。但是,我觉得这种方法是一种“黑客”方式,应该有更好的方法。

1 个答案:

答案 0 :(得分:1)

如果您创建简单的CommonJS模块,则模块导出的任何数据都是可变且可共享的。例如,看看这个基本的例子:

https://github.com/canuckistani/jp-shared-data-module