我开发了一个在Firefox的Addon SDK(v1.10)上运行的扩展程序。我现在正在尝试模块化更多存储在后台页面中的代码(默认称为“main.js”)。
问题
有没有办法创建未冻结的SDK模块?我需要创建一个包含数据的模块,这些数据应该保留在自身中,当该模块被'required()'(加载)到另一个模块时,可以从其他模块访问。
截至目前,我通过使用Firefox的首选项或本地存储来实现此目的,以便在模块之间保持所需对象的状态。但是,我觉得这种方法是一种“黑客”方式,应该有更好的方法。
答案 0 :(得分:1)
如果您创建简单的CommonJS模块,则模块导出的任何数据都是可变且可共享的。例如,看看这个基本的例子: